使用 Java 类生成 MD5 加密字符
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;
}
}
都看到最后了,右下角来个赞鸭!-.- 欢迎评论留言~
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!