解码md5:我们如何可能解码md5



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

暂时忘记md5。相反,想象一下你的哈希函数真的很笨,它只是把源数据中每个字节的值加起来。

现在假设您的源数据只有两个字节:0x010x02,按此顺序。对于这些输入,散列值为3

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

0x01 0x01 0x01
0x00 0x03
0x03
0x02 0x01

…你明白了,希望你也明白,当你所拥有的只是哈希值3时,不可能确切地知道这些可能性中的哪一个可能是原始输入。

对于md5,算法要复杂得多,在避免冲突方面也要好得多,但原理是一样的。正是由于这个原因,它被称为"单向散列"。

哈希就是:输入的单向浓缩值。多个输入可以产生相同的输出。

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

不能,不能从散列中检索原始数据

如果MD5是加盐的MD5,那么很有可能它永远不会与正常的MD5散列相同。

是的,可以用不同的输入生成相同的哈希值。这叫做碰撞。这种冲突是可能的,因为输入大小大于输出大小。阅读生日攻击来了解为什么这是哈希中不好的事情。

这里是一篇关于MD5因碰撞而被破坏的文章。

最新更新