MD5加密算法能被破解么?
MD5是散列加密算法,是不可以逆的,理论上是不能被破解的,但各种消息称MD5已经能被破解了,但普通人是不可能破解的。
为什么都说MD5加密不安全了?
那是因为很多人的密码都很简单,比如:123456,iloveyou,等弱密码…
这样就可以把常用的字符串(或者把各种常见的字符串进行排列组合)转换成MD5值,再用数据库表存储起来,称为彩虹表,然后直接反查彩虹表进行对比,这样弱密码就暴露无疑了。
另外,MD5据说被某软件小组破解了,早在2010年,美国软件工程学会也认为MD5算法已被破解,不再适用了。
所以MD5已经不是安全的加密算法了,不建议使用,一定要使用,建议加盐使用。
如何加强散列算法的安全性?
MD5 和 SHA-1都能被破解了,一般建议使用:SHA256及以上的散列加密算法。
除次之外,还需要加盐(salt)加密处理,比如:
String password = “123456”
String salt = “salttlas”
一般正确做法是: SHA256(password+salt)
密码+盐 一起加密形成密文,这样就算密码是弱密码,一起组成就是复杂的密码了。