MD5 常用于密碼加密,例如,在注冊時可以將密碼轉為 MD5 再放入資料庫,在登錄時校驗登錄密碼和資料庫存放的加密密碼是否一致,來保證密碼在資料庫中存盤的安全性,
下面介紹使用 Java 自帶的加密類 MessageDigest 來加密字符:
/**
* MD5生成器
*
* 1.MD5(message-digest algorithm 5)資訊摘要演算法,
* 它的長度一般是32位的16進制數字串(如81dc9bdb52d04dc20036dbd8313ed055)
* 2.由于系統密碼明文存盤容易被黑客盜取
* 3.應用:注冊時,將密碼進行md5加密,存到資料庫中,防止可以看到資料庫資料的人惡意篡改,
* 登錄時,將密碼進行md5加密,與存盤在資料庫中加密過的密碼進行比對
* 4.md5不可逆,即沒有對應的演算法,從產生的md5值逆向得到原始資料,
* 但是可以使用暴力破解,這里的破解并非把摘要還原成原始資料,如暴力列舉法,
*/
public class MD5Utils {
public static String md5(String password) {
//生成一個md5加密器
try {
//創建具有指定演算法名稱如MD5的摘要
MessageDigest md = MessageDigest.getInstance("MD5");
//使用指定的位元組陣列更新摘要
md.update(password.getBytes());
//BigInteger 將8位數的字串轉成16位的字串,得到的字串形式是哈希碼值
//BigInteger(引數1, 引數2) 引數1:1表示正數 0表示零 -1表示負數
//md.digest() 進行哈希計算并回傳一個位元組陣列
return new BigInteger(1, md.digest()).toString(16);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return null;
}
}
都看到最后了,右下角來個贊鴨!-.- 歡迎評論留言~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/528002.html
標籤:其他
上一篇:限流 - 限流注解組件開發
下一篇:day10-Tomcat02
