如何才能无法“解密”MD5哈希值?

43

可能重复的问题:
为什么 MD5 哈希值不可逆?

我在阅读有关 MD5 的问题时,想起了一些令我感到困惑的事情。这是一个非常简单的问题,如果它不好,请原谅我。 我只是无法理解如何使用某些算法将某物转换为一件东西,并且没有使用相反的算法将其转换回来。

那么,这怎么可能呢?

此外,由于多个字符串可以创建相同的MD5哈希,因为它比输入字符串少数据,所以任何其他哈希系统会更好吗?


4
并非所有算法都是可逆的,这就是哈希运作的原因。 - slugster
MD5是不可逆的,但谷歌已经被用来搜索其存储的大量MD5数据库 - Pascal Thivent
这篇文章可以帮助你“反向解密MD5哈希”。http://stackoverflow.com/questions/1471654/reversing-an-md5-hash/ - berkay
13个回答

0

基本上,涉及到的位运算意味着反转它在技术上是不可行的。为了构建一组输出,您需要疯狂的时间复杂度和巨大的内存复杂度。这并不是完全不可能的 - 但它不必是如此,仅仅超出了我们最好的超级计算机的能力。


0
大多数答案都没有击中问题的实质:哈希转换是非线性的,因此非常难以(但在足够的计算能力和时间下不是不可能)反转。
想想平方一个数字和获取平方根的相对困难程度。再加上你只有部分信息,所有缺失的位都很重要,才能得出正确的答案(不像裁剪数字的例子)。
如果你仍然不确定,那么尝试自己反转MD5或任何其他加密哈希函数的步骤吧;-)

0

字符串的熵增加了,因为在哈希过程中丢失了一些信息。这意味着没有足够的信息可用于重构原始字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接