在乌云zone看到了一个40位的“md5”,奇怪啊。

去搜索了一下,原来是这样的。


假设我们的密码为admin,那么经过MD5加密得到密文为:7a57a5a743894a0e(16位)、 21232f297a57a5a743894a0e4a801fc3(32位)。让我们用在线破解网站来破解下密码原文吧,打开MD5在线破解网站,将16位或者32位密文填入到文本框中,点击“解密”按钮,看,不到一秒钟密码原文就出来了。

以密码admin为例,40位的MD5密文为:7a57a5a743894a0e4a801fc343894a0e4a801fc3。乍一看 MD5加密的痕迹明显,但是把它复制到破解网站中进行破解却无法得出答案。到底这串密文出自何处呢?让我们来仔细观察下,比对16位的MD5密文,你会发现什么?对,我们会发现这串密文的前16位和16位加密的MD5密文完全相同!

再来看后面的24位,我们会发现它是在两个4a801fc3之间夹杂了一个43894a0e,再以4a801fc去比对32位MD5密文,会发现4a801fc3是32位MD5密文的后8位,而43894a0e则是16位MD5密文的后8位。所以,这串40位的密文我们可以这样理解:首先对 admin进行16位的MD5加密,再在后面添上32位MD5密文的后8位,最后把后16位密文(43894a0e4a801fc3)来个重复,就诞生了40位MD5加密密文了。

OK,到这里答案已经揭晓了,原来40位的密文只是障眼法!知道原理,以后我们看见这种加密密文,可以直接把前16位拿出去破解就可以了,后面的统统没用,不用去管它。当然,如果程序员对原来的MD5加密进行的改进,变成了二次加密或多次,那么40位的MD5密文就不止这么简单了。不过这是较为特殊的情况,一般用上文介绍的方法都可以轻松搞定。