解码md5:我们怎么可能解码md5?

ked*_*ter 0 md5

在转换时,我们是否有可能有类似的md5哈希值具有不同的值?如果是的话怎么可能?你有没有尝试过在MD5之前解密的人?

Bri*_*lly 7

忘了md5一秒钟.相反,想象你的散列函数真的很愚蠢,它只是增加了源数据中每个字节的值.

现在让我们说你的源数据只有两个字节:0x01并按0x02顺序排列.对于这些输入,散列值为3.

问题是,您可以3从许多其他字节序列中得到相同的答案:

0x01 0x01 0x01
0x00 0x03
0x03
0x02 0x01
Run Code Online (Sandbox Code Playgroud)

......你明白了,希望你也看到,当你所拥有的是散列值时,不可能确切地知道哪些可能性是原始输入3.

使用md5,算法更加复杂,并且更好地避免了碰撞,但原理是相同的.出于这个原因,它被称为"单向哈希".


Mit*_*eat 6

哈希就是:输入的单向,精简值.许多输入可以产生相同的输出.

是的,不同的源数据可以产生相同的哈希(冲突).

不,您无法从哈希中检索原始数据.