-
Notifications
You must be signed in to change notification settings - Fork 214
/
DataEncryption.java
43 lines (37 loc) · 1.04 KB
/
DataEncryption.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package org.joget.commons.util;
/**
* Interface for pluggable data encryption methods.
*/
public interface DataEncryption {
/**
* Encrypt a String.
* @param rawContent
* @return the encrypted String.
*/
public String encrypt(String rawContent);
/**
* Decrypt a String.
* @param protectedContent
* @return the decrypted String.
*/
public String decrypt(String protectedContent);
/**
* Generate a hash.
* @param rawContent
* @param randomSalt
* @return the generated hash.
*/
public String computeHash(String rawContent, String randomSalt);
/**
* Verify that a hashed value matches the rawContent with the associated salt.
* @param rawContent
* @param randomSalt
* @return true if the verification is successful.
*/
public Boolean verifyHash(String hash, String randomSalt, String rawContent);
/**
* Generates a random salt to be used for hashing.
* @return
*/
public String generateRandomSalt();
}