MD5本来就不是一个加密算法,它是用于确保信息传输完整一致的算法。
先不提碰撞的问题,虽然MD5的编码会使原文变成不可逆的Hash编码,但这是在原文长度无限制的情况下,如果原文长度有限,例如密码(一般不超过16位),那么一个MD5编码就可以对应到有限多个原文,而且长度越短,可以对应到的原文越少。
而且还可以通过事先计算好对应码表,之后只需对照即可。即使使用(原文+固定值)再MD5,只要新建多个账号,查看其保存的MD5值,很容易就可以找到规律,获得这个固定值的数值,从而破解密码的加密。
使用随机值的话,也只要新建更多的账号,根据原文密码和MD5解开后的数值对照,总可以找到其内在随机规律,从而破解加密。
按照现在的电脑运行速度,这些运算应当都不是什么负担了。
是不是以后用MD5加密的数据都不安全了呢?
先不提碰撞的问题,虽然MD5的编码会使原文变成不可逆的Hash编码,但这是在原文长度无限制的情况下,如果原文长度有限,例如密码(一般不超过16位),那么一个MD5编码就可以对应到有限多个原文,而且长度越短,可以对应到的原文越少。
而且还可以通过事先计算好对应码表,之后只需对照即可。即使使用(原文+固定值)再MD5,只要新建多个账号,查看其保存的MD5值,很容易就可以找到规律,获得这个固定值的数值,从而破解密码的加密。
使用随机值的话,也只要新建更多的账号,根据原文密码和MD5解开后的数值对照,总可以找到其内在随机规律,从而破解加密。
按照现在的电脑运行速度,这些运算应当都不是什么负担了。
是不是以后用MD5加密的数据都不安全了呢?