破解MD5密码 (成功200分)

作者&投稿:闻亭 (若有异议请与网页底部的电邮联系)
求解MD5解密成明文,200分~

MD5加密的东西是无法解密的,只有一个笨办法解密,用字符串一个个试

MD5算法
简介

  MD5算法: MD5的全称是Message-Digest Algorithm 5,它是基于Hash变换而来的,MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串,从数学原理上说,是因为原始的字符串有无穷多个,这有点象不存在反函数的数学函数。

加密原理

  在MD5算法中,首先需要对信息进行填充,使其位长度对512求余的结果等于448。因此,信息的位长度(Bits Length)将被扩展至N*512+448,即N*64+56个字节(Bytes),N为一个正整数。填充的方法如下,在信息的后面填充一个1和无数个0,直到满足上面的条件时才停止用0对信息的填充。然后,再在这个结果后面附加一个以64位二进制表示的填充前信息长度。经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512的整数倍。这样做的原因是为满足后面处理中对信息长度的要求。

加密过程

  MD5中有四个32位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。
当设置好这四个链接变量后,就开始进入算法的四轮循环运算。循环的次数是信息中512位信息分组的数目。
将上面四个链接变量复制到另外四个变量中:A到a,B到b,C到c,D到d。
主循环有四轮(MD4只有三轮),每轮循环都很相似。第一轮进行16次操作。每次操作对a、b、c和d中的其中三个作一次非线性函数运算,然后将所得结果加上第四个变量,文本的一个子分组和一个常数。再将所得结果向右环移一个不定的数,并加上a、b、c或d中之一。最后用该结果取代a、b、c或d中之一。
以一下是每次操作中用到的四个非线性函数(每轮一个)。
F(X,Y,Z) =(X&Y)|((~X)&Z)
G(X,Y,Z) =(X&Z)|(Y&(~Z))
H(X,Y,Z) =X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&是与,|是或,~是非,^是异或)
这四个函数的说明:如果X、Y和Z的对应位是独立和均匀的,那么结果的每一位也应是独立和均匀的。F是一个逐位运算的函数。即,如果X,那么Y,否则Z。函数H是逐位奇偶操作符。
假设Mj表示消息的第j个子分组(从0到15),<<
FF(a,b,c,d,Mj,s,ti)表示a=b+((a+(F(b,c,d)+Mj+ti)<< GG(a,b,c,d,Mj,s,ti)表示a=b+((a+(G(b,c,d)+Mj+ti)<< HH(a,b,c,d,Mj,s,ti)表示a=b+((a+(H(b,c,d)+Mj+ti)<< II(a,b,c,d,Mj,s,ti)表示a=b+((a+(I(b,c,d)+Mj+ti)<<
这四轮(64步)是:
第一轮
FF(a,b,c,d,M0,7,0xd76aa478)
FF(d,a,b,c,M1,12,0xe8c7b756)
FF(c,d,a,b,M2,17,0x242070db)
FF(b,c,d,a,M3,22,0xc1bdceee)
FF(a,b,c,d,M4,7,0xf57c0faf)
FF(d,a,b,c,M5,12,0x4787c62a)
FF(c,d,a,b,M6,17,0xa8304613)
FF(b,c,d,a,M7,22,0xfd469501)
FF(a,b,c,d,M8,7,0x698098d8)
FF(d,a,b,c,M9,12,0x8b44f7af)
FF(c,d,a,b,M10,17,0xffff5bb1)
FF(b,c,d,a,M11,22,0x895cd7be)
FF(a,b,c,d,M12,7,0x6b901122)
FF(d,a,b,c,M13,12,0xfd987193)
FF(c,d,a,b,M14,17,0xa679438e)
FF(b,c,d,a,M15,22,0x49b40821)
第二轮
GG(a,b,c,d,M1,5,0xf61e2562)
GG(d,a,b,c,M6,9,0xc040b340)
GG(c,d,a,b,M11,14,0x265e5a51)
GG(b,c,d,a,M0,20,0xe9b6c7aa)
GG(a,b,c,d,M5,5,0xd62f105d)
GG(d,a,b,c,M10,9,0x02441453)
GG(c,d,a,b,M15,14,0xd8a1e681)
GG(b,c,d,a,M4,20,0xe7d3fbc8)
GG(a,b,c,d,M9,5,0x21e1cde6)
GG(d,a,b,c,M14,9,0xc33707d6)
GG(c,d,a,b,M3,14,0xf4d50d87)
GG(b,c,d,a,M8,20,0x455a14ed)
GG(a,b,c,d,M13,5,0xa9e3e905)
GG(d,a,b,c,M2,9,0xfcefa3f8)
GG(c,d,a,b,M7,14,0x676f02d9)
GG(b,c,d,a,M12,20,0x8d2a4c8a)
第三轮
HH(a,b,c,d,M5,4,0xfffa3942)

HH(d,a,b,c,M8,11,0x8771f681)
HH(c,d,a,b,M11,16,0x6d9d6122)
HH(b,c,d,a,M14,23,0xfde5380c)
HH(a,b,c,d,M1,4,0xa4beea44)
HH(d,a,b,c,M4,11,0x4bdecfa9)
HH(c,d,a,b,M7,16,0xf6bb4b60)
HH(b,c,d,a,M10,23,0xbebfbc70)
HH(a,b,c,d,M13,4,0x289b7ec6)
HH(d,a,b,c,M0,11,0xeaa127fa)
HH(c,d,a,b,M3,16,0xd4ef3085)
HH(b,c,d,a,M6,23,0x04881d05)
HH(a,b,c,d,M9,4,0xd9d4d039)
HH(d,a,b,c,M12,11,0xe6db99e5)
HH(c,d,a,b,M15,16,0x1fa27cf8)
HH(b,c,d,a,M2,23,0xc4ac5665)
第四轮
II(a,b,c,d,M0,6,0xf4292244)
II(d,a,b,c,M7,10,0x432aff97)
II(c,d,a,b,M14,15,0xab9423a7)
II(b,c,d,a,M5,21,0xfc93a039)
II(a,b,c,d,M12,6,0x655b59c3)
II(d,a,b,c,M3,10,0x8f0ccc92)
II(c,d,a,b,M10,15,0xffeff47d)
II(b,c,d,a,M1,21,0x85845dd1)
II(a,b,c,d,M8,6,0x6fa87e4f)
II(d,a,b,c,M15,10,0xfe2ce6e0)
II(c,d,a,b,M6,15,0xa3014314)
II(b,c,d,a,M13,21,0x4e0811a1)
II(a,b,c,d,M4,6,0xf7537e82)
II(d,a,b,c,M11,10,0xbd3af235)
II(c,d,a,b,M2,15,0x2ad7d2bb)
II(b,c,d,a,M9,21,0xeb86d391)
常数ti可以如下选择:
在第i步中,ti是4294967296*abs(sin(i))的整数部分,i的单位是弧度。(4294967296等于2的32次方)
所有这些完成之后,将A、B、C、D分别加上a、b、c、d。然后用下一分组数据继续运行算法,最后的输出是A、B、C和D的级联。

破解方法

  一些黑客破获这种密码的方法是一种被称为“跑字典”的方法。有两种方法得到字典,一种是日常搜集的用做密码的字符串表,另一种是用排列组合方法生成的,先用MD5程序计算出这些字典项的MD5值,然后再用目标的MD5值在这个字典中检索。
即使假设密码的最大长度为8,同时密码只能是字母和数字,共26+26+10=62个字符,排列组合出的字典的项数则是P(62,1)+P (62,2)….+P(62,8),那也已经是一个很天文的数字了,存储这个字典就需要TB级的磁盘组,而且这种方法还有一个前提,就是能获得目标账户的密码MD5值的情况下才可以

原文:dotdream
百度知道追加分数最多只能追加150分来着……

百度MD5破解 如果没有相应的 就别费力气了

除非有现成的,否则理论上该算法在你有生之年是不可破解的

楼上的你错了,md5算法已经被王小云破解了

还有楼主别傻了,干点正事吧,别整天想着去入侵


蒙阴县19577407673: 求解MD5解密成明文,200分 -
本缸顺峰: MD5加密的东西是无法解密的,只有一个笨办法解密,用字符串一个个试

蒙阴县19577407673: MD5是怎么进行暴力破解的? -
本缸顺峰: 因为MD5是不可逆的,只能用不同的数字,字母,字符的组合成的MD5,然后对比要破的MD5值,如果一样,就解了,如果不一样,继续组合生成,简单地说,如果是复杂的密码,跑个一万年也不一定能解出来.

蒙阴县19577407673: 怎么破解用md5加密的数据?
本缸顺峰: 步骤如下: 在命令行输入grub,进入GRUB界面,输入md5crypt(或password --md5),然后输入你的密码(注意输入密码要小心,因为只能输入一次),产生一个md5加密字符串,把它复制下来. 打开/boot/grub/grub.conf,在title子句后加入...

蒙阴县19577407673: MD5的破解方法是什么??
本缸顺峰: 晕,破解不了的.首先,你要明白,MD5是中不可逆的加密方法. 什么是可逆呢? 比如说:将数字 4加密为2,8加密为4,6加密为3,很显然,就是将数字除以2,这样,别人将加密后的密码按这个规律就可以破解你的密码了~ 什么是不可逆? 比如说: 我把2加密为1,把3加密为1,把5加密为2,把9加密为3,虽然有规律(除2去整),加密后的密码是无法按规律推出来的 应此,你的这几个MD5密码无人能破~~

蒙阴县19577407673: md5密码被加密5次怎么解密 答对了给20分 -
本缸顺峰: 没法解密,最少我们普通的市民是没法解的.据说在某些地方某些领域里面,MD5早几年前就被破了,但在市面上没真正见过能破MD5的软件或算法出现.

蒙阴县19577407673: md5可以破解么?
本缸顺峰: 当然可以破解, 因为: 有矛就有盾 只不过算法大同小异而已 一些像MD5Crack v3.2 这样的软件就可以自己破解出来 前提是:一,自己的电脑配置足够好,因为一运行占CPU很厉害,二,自己做几个字典,一个好的字典足能让你破解事半功倍

蒙阴县19577407673: 谁能破解MD5的密码
本缸顺峰: MD5是单向不可逆的加密方式,只有通过密码获取MD5,MD5是获取不了密码的. 实际上,MD5获取密码不是不可能,需要有一个MD5与密码的对应表,但是这个表是非常庞大,数据非常多,一般人没可能有.有的话,再通过该表查对应的密码,就可以了. 爆破软件的原理也是一样,通过不停的更换字符,产生MD5码,再用MD5码与目的MD5码比较,得出密码,不排除有人通过多线程多主机同时破译,加快破译速度. 也许有些网站,保存常用的MD5码给用户查询,那只是MD5一少部分可以译出.但不要忘记,还有些修改了MD5加密方式,导致MD5码与常规有出入,致使标准的查询失败的情况.

蒙阴县19577407673: 怎样破解MD5加密
本缸顺峰: MD5加密是不可逆的,就是说能加密,但是解不了密, 现在一般网站都是用存储介质将已加好密的密码以及源文件一起存到存储介质中, 你要查询某一条密码直接查询即可. 当然, 现在已经有人能破解了,而且是中国的, 但是密码破解的方法不会给你说,说了你也不会懂,你可以看看这些资料 http://baike.baidu.com/view/350813.htm 这是王小云的介绍

蒙阴县19577407673: MD5加密有什么办法破解吗?
本缸顺峰: md5是无规则加密,不可倒逆,破解只能穷举,网上很多的md5破解网站,但简单的可以,复杂的就不行了

蒙阴县19577407673: Asp.net的MD5加密,可怎么解密呢?(C#) -
本缸顺峰: 1. 首先MD5是一个hash算法,完全是不可逆的.但是可以通过暴力破解的方式来破解.最常见的就是破解字典,现在网上有很多的以彩虹破解为原理的字典.只需要输入加密后的字符串就可以了.对应于C#而言,相当于是调用一个外部的service那么简单.2. 但是,更多的MD5是加了salt的,也就是加入了非字母和数字串序列,导致字典所占空间骤增,所以一般来说MD5还是很难破解的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网