原文:利用Apache shiro SimpleHash 加密字符串
import org.apache.shiro.crypto.hash.SimpleHash; import org.apache.shiro.util.ByteSource; /** * 散列算法 生成數據的摘要信息,是一種不可逆的算法,一般適合存儲密碼之類的數據, */ public class MD5Utils { //干擾數據 鹽 防破解 private static final String SALT = "mar%#$@"; //散列算法類型為MD5 private static final String ALGORITH_NAME = "md5"; //hash的次數 private static final int HASH_ITERATIONS = 2; public static String encrypt(String pswd) { String newPassword = new SimpleHash(ALGORITH_NAME, pswd, ByteSource.Util.bytes(SALT), HASH_ITERATIONS).toHex(); return newPassword; } public static String encrypt(String username, String pswd) { String newPassword = new SimpleHash(ALGORITH_NAME, pswd, ByteSource.Util.bytes(username + SALT), HASH_ITERATIONS).toHex(); return newPassword; } public static void main(String[] args) { System.out.println(MD5Utils.encrypt("test", "123456")); } }