0

MD5 是对字符串进行散列还是对其进行加密?如果它对其进行哈希处理,那么就像他们所说的那样,单向哈希函数和原始字符串(或数据)无法通过产生的哈希恢复,因为它仅用于身份验证。那么我们如何解释MD5解密的在线网站呢?我实际上尝试过它,它会恢复原始字符串。这是一个这样做的网站:http ://www.md5decrypter.co.uk/

这怎么可能?

4

3 回答 3

1

MD5 是一种加密散列函数。它将可变长度字符串映射到 128 位哈希值。这是单向的,但可以使用Rainbow Tables快速破解代码。更不用说你发布的网站说它有

总共有超过 87 亿个唯一的解密 MD5 哈希值......

因此它甚至可以在需要尝试破解它之前先检查这些内容。

于 2012-12-27T21:53:14.523 回答
1

MD5 是一种哈希算法,这意味着它将任意长度的字符串映射到某个固定长度的字符串。其目的是使其难以从 MD5 散列的输出开始并恢复一些将散列到该输出的特定输入。因为有无限多的字符串和有限多的输出,所以它不是一个加密函数,并且仅给出输出就不可能确定哪个输入产生了该输出。

但是,MD5 有许多加密弱点,并已被各种其他散列函数(SHA 系列)所取代。如果需要加密安全,我强烈建议不要使用 MD5,因为那里有更好的算法。

希望这可以帮助!

于 2012-12-27T21:54:24.130 回答
0

他们不会“解密”,他们会找到一个与您的哈希匹配的字符串,这不是一回事,但是当您将自己限制在常见的英语单词时,它很可能是。

要了解发生了什么,您必须考虑可能的 MD5 哈希数 - 2^128,这比英语中的单词数(2^16?)多,但远小于所有可能的字符串值 2^(位数互联网有,然后一些)

当您从较小的集合转换为较大的集合(英语-> MD5)时,可能所有值都会不同,但反之亦然。

底线:使用不是谷歌可以在网络上任何地方找到的字符串的密码。

于 2012-12-27T21:57:34.657 回答