1. 程式人生 > >MD5Hash加密工具類(利用隨機鹽)

MD5Hash加密工具類(利用隨機鹽)

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()); } }