当前位置: 代码迷 >> .NET新技术 >> MD5是否可以这样破解
  详细解决方案

MD5是否可以这样破解

热度:34   发布时间:2016-04-25 01:31:56.0
MD5是不是可以这样破解?
MD5一般用于密码吧   那么密码 一般都是26个大写字母 26个小写字母 数字10个 特殊符号10个 在加上_

26*2+10*2+1=73个符号.

而且 密码一般来说肯定有位数限制,6-14位 一般情况来说

所以73个符号 组成位数为6-16的数量一定可以算出来吧.?

放到一个数组里 for循环..

如果有一个"很快"的计算机 是不是一下就出来了?

------解决方案--------------------
什么叫破解?

如果是还原出原文,这个做不到,一个md5值对应的原文有无数个。

如果是找到一个可以得到这个md5的原文,这个叫碰撞,前几年已经被山大的杨小云解决了。
------解决方案--------------------
(26+26+10+10+1)^26已经是一个天文数字了。这个数字远远超过了地球上所有物质的原子数的一1万亿亿倍——这意味着,将全世界所有物质全部造成电脑,每个电脑只用一个原子,并且性能超过每秒1万亿次,并且算一个md5只要1条指令(比目前最快的电脑还要快),也没有办法在人类的有生之年穷举出来。
------解决方案--------------------
从排列的角度看 不考虑md5 按楼主的条件有

73*72*71*70*69*68=P(73,6)=122565925440 (1.2k 亿)

P(73,14)=2.030652879950337e+27

这个解值空间的确比较大了点吧,让楼主家的计算机 怎么算?

正如 楼主朋友的夸张比喻一样,看来 楼主 暴露数学常识了。

再说了,md5 不能通过这样的排列 去碰,还需要先

搞定密码和明文之间的 映射算法,

映射算法是固定的吗?还是有任意种 我就不太清楚 了。




------解决方案--------------------
网上MD5破解的网站好象就是用楼主所用的方法。

------解决方案--------------------
数学没学好吧,就算6位,73的6次方等于151334226289 1500多亿你算去吧
------解决方案--------------------
MD5不可逆,但是规定了输入范围后,的确有试出来的可能,这个很早以前就看到美国有专门的组织搞这个了,有个很大的库,能碰出来的
------解决方案--------------------
sorry!我在#20楼引用错了,那里随后的内容是针对“弄个数据库比对就能破解md5”而言的,不是针对暴力破解方法而言的,因此不该引用#16楼的内容。
  相关解决方案