MD5是否散列或加密其字符串?

时间:2012-12-27 21:51:22

标签: hash md5 encryption

MD5是否对字符串进行哈希处理或加密?如果它散列它,那就像他们说单向散列函数和原始字符串(或数据)是由生成的散列不可恢复的,因为它仅用于身份验证。那么我们如何解释MD5解密的在线网站呢?我实际上尝试过它,它取回原来的字符串。这是一个执行此操作的网站:http://www.md5decrypter.co.uk/

这怎么可能?

3 个答案:

答案 0 :(得分:1)

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

  

总共只有超过87亿个独特的解密MD5哈希......

所以它可以在它甚至需要尝试破解它之前先检查它们。

答案 1 :(得分:1)

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

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

希望这有帮助!

答案 2 :(得分:0)

他们没有“解密”,他们找到一个与你的哈希相匹配的字符串,这不是一回事,但当你把自己限制在常见的英语单词时,很可能就是这样。

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

当你从较小的一组转换为一个较大的一组(英语 - > MD5)时,很可能所有的数值都不同,但另一种方式则不然。

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

相关问题