Package tilda.utils
Class EncryptionUtil
- java.lang.Object
-
- tilda.utils.EncryptionUtil
-
public class EncryptionUtil extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected static org.apache.logging.log4j.LoggerLOG
-
Constructor Summary
Constructors Constructor Description EncryptionUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringaes(java.lang.String plaintext, java.lang.String aesKeyStr)static java.lang.StringbytesToHex(byte[] digest)static java.lang.StringgetToken(int size)A short-hand version ofgetToken(int, boolean)with alphaNumOnly set to falsestatic java.lang.StringgetToken(int size, boolean alphaNumOnly)Generates a random string with "size" characters.static java.lang.Stringhash(java.lang.String plaintext, java.lang.String salt)For text-base hashing, for example for a password to be saved in a database text field, this method uses the strongest available SHA function (i.e., at this time, SHA-512).static byte[]hash256(java.lang.String plaintext, java.lang.String salt)Returns a byte array for a SHA-256 digest derived from plaintext.protected static byte[]hashByteArrray(java.lang.String plainText, java.lang.String salt, java.lang.String shaAlgo)protected static java.lang.StringhashStr(java.lang.String plaintext, java.lang.String salt, java.lang.String algo)protected static java.lang.Stringhmac(java.lang.String plaintext, java.lang.String key, java.lang.String algo)static java.lang.StringhmacSHA1(java.lang.String plaintext, java.lang.String key)static java.lang.StringhmacSHA256(java.lang.String plaintext, java.lang.String key)
-
-
-
Method Detail
-
hash
public static java.lang.String hash(java.lang.String plaintext, java.lang.String salt)For text-base hashing, for example for a password to be saved in a database text field, this method uses the strongest available SHA function (i.e., at this time, SHA-512). You are responsible for salting the plaintext for stronger pswd protection. A Base64 String is returned.- Parameters:
plaintext- The plaintext password.salt- The salt, which could be empty, or null (for no salt).- Returns:
-
hash256
public static byte[] hash256(java.lang.String plaintext, java.lang.String salt)Returns a byte array for a SHA-256 digest derived from plaintext. This is meant primarily to be used as a key to an AES256 encryption algorithm.
For text-base hashing, for example for a password to be saved in a database text field, make sure you use the plain#hash(String).- Parameters:
plaintext-- Returns:
-
hashStr
protected static java.lang.String hashStr(java.lang.String plaintext, java.lang.String salt, java.lang.String algo)
-
hashByteArrray
protected static byte[] hashByteArrray(java.lang.String plainText, java.lang.String salt, java.lang.String shaAlgo)
-
getToken
public static java.lang.String getToken(int size)
A short-hand version ofgetToken(int, boolean)with alphaNumOnly set to false- Parameters:
size- The size of the returned String. If size is < 8, then it will be changed to 8. If it's > 254, it will be changed to 254.- Returns:
- A string of random characters of a minimum size of 8, and maximum size of 254.
-
getToken
public static java.lang.String getToken(int size, boolean alphaNumOnly)Generates a random string with "size" characters.- Parameters:
size- The size of the returned String. If size is < 8, then it will be changed to 8. If it's > 254, it will be changed to 254.alphaNumOnly- Whether the returned random string should only contain alphanumeric characters or not.- Returns:
- A string of random characters of a minimum size of 8, and maximum size of 254.
-
bytesToHex
public static java.lang.String bytesToHex(byte[] digest)
-
aes
public static java.lang.String aes(java.lang.String plaintext, java.lang.String aesKeyStr)
-
hmacSHA1
public static java.lang.String hmacSHA1(java.lang.String plaintext, java.lang.String key) throws java.lang.Exception- Throws:
java.lang.Exception
-
hmacSHA256
public static java.lang.String hmacSHA256(java.lang.String plaintext, java.lang.String key) throws java.lang.Exception- Throws:
java.lang.Exception
-
hmac
protected static java.lang.String hmac(java.lang.String plaintext, java.lang.String key, java.lang.String algo) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException, java.io.UnsupportedEncodingException- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyExceptionjava.io.UnsupportedEncodingException
-
-