架构爱好者
学习交流中心

MD5加密的安全性

项目用到MD5加密,一定安全吗,怎么破译?

1、MD5加密并不安全

如果黑客构建一个超大的数据库,把所有20位数字以内的数字和字母组合的密码全部计算MD5哈希值出来, 并且把密码和它们对应的哈希值存到里面去(这就是 「彩虹表」 )。 在破解密码的时候,只需要查一下这个彩虹表就完事了。 所以「单单MD5对密码取哈希值存储」,已经不安全了。

2、优化方案

先对字段加盐处理后,再进行MD5处理,即MD5(pwd + salt),只要salt足够长,是没办法通过彩虹表反查的。

加的随机盐按一定格式掺入md5值,后端按规定取出随机盐,匹配md5值。

参考资料

未经允许不得转载:技术杂烩 » MD5加密的安全性