作用:将数据库的明文密码加密为其他格式,更加保证安全性
已知:
一张表 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加密