前言
为什么要用MD5加密呢?
因为MD5是目前来说的一种不可逆的加密算法,如果你在你的数据库里面的登录密码实现了加密,那么别人如果不知道你的密码,就不可能登录上去了。并且保证了数据库丢失时,用户的安全性。
Md5工具类
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* Md5工具类
*/
public class Md5Util {
/**
* 16进制字符
*/
static String[] chars = {"0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"};
/**
* 将普通字符串用md5加密,并转化为16进制字符串
* @param str
* @return
*/
public static String StringInMd5(String str) {
// 消息签名(摘要)
MessageDigest md5 = null;
try {
// 参数代表的是算法名称
md5 = MessageDigest.getInstance("md5");
byte[] result = md5.digest(str.getBytes());
StringBuilder sb = new StringBuilder(32);
// 将结果转为16进制字符 0~9 A~F
for (int i = 0; i < result.length; i++) {
// 一个字节对应两个字符
byte x = result[i];
// 取得高位
int h = 0x0f & (x >>> 4);
// 取得低位
int l = 0x0f & x;
sb.append(chars[h]).append(chars[l]);
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
}
用户注册
验证一下
MD5加密网站:https://www.zxgj.cn/g/md5
与数据库对比是正确的,所以加密成功。