MD5的一些疑问 ( 积分: 100 )

  • 主题发起人 主题发起人 catbrother
  • 开始时间 开始时间
C

catbrother

Unregistered / Unconfirmed
GUEST, unregistred user!
A和B之间通过MD5效验密码
A发送一组随机的数据到B
B根据这组数据,外加自己的一组数据,以及要加密的原文,产生加密的一组数据
然后,加密数据送到A验证。

现在,知道A发送过来的随机数据,知道B本机保存的一组数据,知道B发送的加密数据
求B的密码是多少?

哪位老大知道啊,或者提供一点解题方法
 
贴出源码

B固定
f2 14 1d 4f c2 6e d0 d8 1c dc 6d 81 22 13 68 52

B接收到A的
b8 d0 52 03 1d ac 31 5d a3 f7 36 77 a6 49 34 22 55 26 12 b9 4a a3 66 68 58 74 08 46 62 d2 e0
B发送给A的
11 a7 19 7e c4 2e 8b 80 ee da c0 c4 9d a4 f9 bd

B接收到A的
36 1c 59 5b 74 11 c0 8b aa c7 6d 1c 33 6b e8 ec 75
B发送给A的
35 02 5e 2e f0 c6 42 1f 2d dd 25 37 9e ff 04 1e

上面是两次过程,B收到的是随机的,且长度变化的数据,我想应该有办法把B的密码原文算出来
 
MD5是散列函数,只能用在签名里。
你把它理解成CRC算法就明白了
 
我能不能得到密码原文?
或者通过某种方式得到?

毕竟我对这种算法不了解
 
MD5是没有办法把B的密码原文算出来,
它是单向的.
你可以采用des等其他加密算法
 
MD5主要用作校验,不是加密解密。
 
那么,它的过程是怎么样的呢?
A发给B一串随机的数组,然后,B这里也保存了一组16个16位的数组。
它是怎么工作的呢?
 
MD5只能做签名验证.而不能作为加解密.也就是不能由MD5制还原数据.
MD5的数据只有16个字节,也就是128位,如果能还原的话岂不是16个字节可以表示无限长度的数据的无限组合了???
所以MD5的破解只能是碰撞,不一定是原来的数据,只要两组数据MD5值相同就可以冒充了
 
MD5毕竟是散列函数想根据散列值求加密之前的数据只能穷举,看你的东西是A与B进行数据通讯!如果你确认是MD5算法穷举原值基本不可能.经验一般的程序间的数据通讯都是双向算法如DES,BLUEFISH等RSA也有可能但是用MD5做通讯没有遇到过!你还是在分析一下吧看看是不是别的算法!你分析的只是数据的流向并没有他使用MD5的具体分析啊!
 
我抓的是PPPoE的通讯数据
里面规定的是MD5啊
 
后退
顶部