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楼的内容。