答案 0 :(得分:15)
MD5()生成hash,而不是encrypted字符串。因此,您无法在原则上解密 。但是研究表明MD5是可以攻击的,但是研究起来似乎太复杂了 从“今天认为有害的MD5”@ http://www.win.tue.nl/hashclash/rogue-ca/:
使用私钥对数据进行签名的加密操作 不直接处理数据本身,但据称是独一无二的 具有预定固定长度的该数据的表示是 简短,因此方便使用。这可以与a进行比较 指纹作为一种据称独特,简洁,方便的指纹 代表一个人。创造这么短的过程 数据表示称为“散列”。不幸的是,因为 哈希的固定长度,必须存在不同的对 输出产生相同的哈希值。然而,好的哈希函数, 有这样的属性,发现这样的对是非常困难,甚至 虽然他们保证存在。 这正是MD5所拥有的 关键弱点。
答案 1 :(得分:6)
MD5不是加密,它是单向哈希。这意味着在给定hashvalue的情况下无法返回原始密码(除了暴力或彩虹表攻击)。
在this similar question and answer中有一个更长,更好的解释。
答案 2 :(得分:3)
理论上,MD5无法解密。 在实践中,有许多MD5“解密器”,但他们使用暴力,或已经解密的代码的大型数据库等...上面的回答者可能使用其中之一。可能的组合数量是1,然后是48个零......足够终生。
答案 3 :(得分:2)
MD5不是加密算法。这是一种单向哈希算法,所以没有攻击,你就不应该从MD5哈希中获取密码。
这个想法是你从密码生成一个哈希值,然后当提供密码时,你可以确认它的哈希值是相同的值。你不应该走另一条路。
答案 4 :(得分:0)
最合理简单的方法是搜索Google中的哈希值。 E.g: