【发布时间】:2010-06-27 03:11:30
【问题描述】:
我有一个使用 MD5 加密并存储在数据库中的站点上的成员密码。我想实现一个丢失密码的功能,如果用户忘记了他们的凭据,他们将通过电子邮件发送他们的凭据。但是如何输出未加密的密码,或者它是一种加密方式,因此不可能?
【问题讨论】:
-
@Slaks:不,他应该使用 MD5。他不应该允许他们恢复纯文本密码。
-
@Josh K - @SLaks 的意思是 MD5 是一个弱算法,而不是散列本身不好。
-
@Josh:不,他应该使用 bcrypt。
-
(@Slack,如果我错了,请纠正我,但是)我认为 SLak 的观点是,如果这是 OP 想要达到的结果,MD5 是一个糟糕的选择,因为它是一个哈希算法,而不是加密算法。
-
有趣的是,人们害怕将明文密码存储在数据库中,这是相当安全的地方,但是通过网络以明文形式发送密码(这本质上是不安全的)对他们来说是完全可以的。请注意,许多网站仍然不使用 SSL。