Blog

MD5密码似乎不再安全

之前我了解了MD5算法加密的原理后,一直把它当作最安全的密码算法。的确,它不存储明文,只保留了一串不知所云的密文,每次验证密码的时候把用户输入的明文再次翻译成密文与存储的密文作比较,然后得出相应的结论。这样真的给人一种坚若磐石的感觉。

可是,这种方式安全的前提是从明文转换成密文的算法是不可逆的,也就是说密文不能随随便便的被转换成明文。而问题恰恰就出现在这里。

今天我在看电脑报时读到一篇文章,上面说了Discuz!论坛程序的一个漏洞,其中提到了得到密码的密文后可以用http://www.cmd5.com/网站提供的工具还原成明文密码。当时我的感觉是不可思议——什么时候MD5算法也出了这种问题了。而山东大学的教授王小云女士破解MD5算法的论文也似乎是建立在多台高性能计算机集群运算的基础上。而一个网站竟然能随随便便的破解它,让人无法相信。

于是我回家后立刻上网一试,果然找到了相应的功能。把我一直使用的十位密码输入,得到了32位的MD5密文,然后把密文贴到输入框中,点击运算按钮,不用几秒钟我就看到了我的明文密码。当时我就不寒而栗,一向被我认为是不可破解的密码算法竟然在瞬间变成了废物。

我赶紧看网站上的说明。似乎它有一个很大的数据库,里面记录了每个MD5密文与它相对应的明文。原来它是用了暴力破解的方法,不过有了这么多的用例,几乎不可能的逆运算就变成了一件相对容易的查找匹配运算。

这种方式的不足就是数据库的存储总是有限的。例如我接着输入了我在TrueCrypt商用的“究极”36位密码,得到的结果便为Not Found了。

因此,我们在注册社区、申请自愿时填写密码的一刻,是不是要考虑一下密码的安全性呢?虽然不会有人这么无聊会来盗取我们这种小人物的密码,但时代是发展的,没准哪一天你的密码被盗会对世界造成……的影响呢^-^。

1 comment

  1. 沙发

Leave a Reply