MD5Hash加密工具類(利用隨機鹽)
阿新 • • 發佈:2019-01-29
package cn.util;
import org.apache.shiro.crypto.hash.Md5Hash;
public class Encrypt {
/*
* 雜湊演算法一般用於生成資料的摘要資訊,是一種不可逆的演算法,一般適合儲存密碼之類的資料,
* 常見的雜湊演算法如MD5、SHA等。一般進行雜湊時最好提供一個salt(鹽),比如加密密碼“admin”,
* 產生的雜湊值是“21232f297a57a5a743894a0e4a801fc3”,
* 可以到一些md5解密網站很容易的通過雜湊值得到密碼“admin”,
* 即如果直接對密碼進行雜湊相對來說破解更容易,此時我們可以加一些只有系統知道的干擾資料,
* 如使用者名稱和ID(即鹽);這樣雜湊的物件是“密碼+使用者名稱+ID”,這樣生成的雜湊值相對來說更難破解。
*/
//高強度加密演算法,不可逆
public static String md5(String password, String salt){
return new Md5Hash(password,salt,2).toString();
}
public static void main(String[] args) {
System.out.println(new Md5Hash("123456","tony",2).toString());
}
}