如何将MD5字符串转换为普通文本?

6

我在数据库中以MD5形式保存了用户密码,现在我想以明文形式向用户发送密码,请问是否有办法将MD5字符串转换为明文?

4个回答

27
Md5是一种哈希算法。无法从哈希结果中检索原始输入。
如果您想添加一个“忘记密码?”功能,您可以向用户发送一封电子邮件,其中包含一个临时链接来创建新密码。 请注意:以明文形式发送密码是一个坏主意 :)

这个怎么样?(http://www.md5decrypter.com/) - Kiran RS
1
澄清一下,没有办法检索原始数据,但是进行MD5解密的网站只是拥有一个巨大的已知MD5哈希值的数据库,他们可以对照检查。 - tylerism
它可以使用http://www.md5decrypt.org/。 - May'Habit

1

只有在被哈希的密码是标准词典单词或已经预先哈希的某个顺序单词以识别哈希单词的情况下,此方法才有效。如果密码是更随机的由数字和符号组成的字符串(这是最佳实践,并且现在在许多网站上得到强制执行),则当前没有可用的MD5解码器将起作用。所有这些MD5解码器的工作方式都是拥有一个包含其哈希值的单词数据库,并搜索哈希值以查找相应单词的匹配项。 - Chris Rutherfurd

1
MD5的概念是单向哈希,因此一旦原始值通过哈希算法(如果有)传递,就无法再次获取原始值。
您可以(可能)创建一个数据库表,其中包含原始值和MD5值的配对,但我猜这是非常不切实际的,并且存在重大安全风险。

1
@KiranRS 这个有什么问题吗? - Ocracoke

0
如果你通过电子邮件向用户发送密码,那么你与没有设置密码是一样的。
你无法反转MD5函数,所以你唯一的选择是生成一个新密码并将其发送给用户(最好通过某个安全通道)。

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