md5在理论上是几乎无法破解的,陈小云也只是找到不同两段数据能产生相同md5值的方法而已(山风评注:好像不同数据不会生成相同的md5值吧,这里指的是反向思考方法)。不过对于密码就不同了,因为一般人的密码都是在10位以内,有人将8~11位以内的所有大小写字母和数字排列组合都计算一遍md5值,然后用这个庞大的字典反过来破解(查询出)原始的密码值。这个也是经典的空间换时间的例子。
这个网站的地址是:http://www.cmd5.com/
复制一个md5值到网站的查询框,比如:fc5e038d38a57032085441e7fe7010b0,然后点“解密”就是了。
通常论坛(动网/Discuz/phpBB)和一般网站都是将密码用md5计算过然后储存起来的,现在用这个工具可以“还原”用户密码了。
附一段网站介绍文字:
本站拥有世界上最大的数据库,查询速度也很快,大部分查询是免费的。
实时查询共有457,354,352,282条,已包含11位及11位以下数字、8位小写字母、7位小写字母加数字、6位大小写字母加数字等组合。
后台分布式查询记录共有176,149,422,453,689条,包含12位数字、9位小写字母加数字、7位任意字符。
后记:发这篇文章并不是让大家去破解别人的密码,(实际上如果你没有入侵别人服务器的话连人家的md5值都获取不了的)只是让大家思考一下储存密码的方式是否需要改变一下,例如用“用户名+密码+自定义字符串”作为MD5的计算原始值,而不是仅仅密码
本文转自 bilinyee博客,原文链接: http://blog.51cto.com/ericfu/1859691 如需转载请自行联系原作者