MD5加密(單向的雜湊函式)
阿新 • • 發佈:2018-11-17
作用:將資料庫的明文密碼加密為其他格式,更加保證安全性
已知:
一張表 user 存 id,username,password。
表中已有一條資料:1,tom,123
1)首先我們先來看一個mysql加密語句:
現在將 密碼 ‘123’ 加密 :
update user set password = MD5(password) where id = 1;
該條資料就可能變為:
1,tom,202cb962ac59075b964b07152d234b70
注意:該方法只能用於加密,無法解密
2)java如何實現MD5加密,
在uitl包中的MD5Utils.java
package com.itheima.util;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
/**
* 使用md5的演算法進行加密
*/
public static String md5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest. getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("沒有md5這個演算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
}
在你需要用加密的地方
例如將別人註冊的密碼加密:
String password = MD5Utils.md5(password);//MD5加密