如果密码是saltedhash,如何恢复用户忘记的密码?

时间:2011-08-13 05:32:34

标签: hash salt password-hash

我刚学会使用salt和hash来保护我的数据库中的密码。现在,我需要创建一个模块,允许用户忘记密码时恢复密码。如果密码不可逆,我怎么能这样做?

3 个答案:

答案 0 :(得分:3)

您无需尝试恢复旧密码,只需为其创建一个新密码或让他们这样做。

您可以为他们生成临时密码,为他们生成盐密码并为他们提供密码,然后通过电子邮件向他们发送新密码,或者向他们发送电子邮件链接以重置密码。

答案 1 :(得分:3)

哈希密码是一种保护密码持有者的安全措施。如果您存储了纯文本,并且使用者的银行帐户是由第三方访问的,因为您只知道其密码的哈希值,您可能不是访问其银行的人。

话虽这么说,md5即使用盐也不是非常牢不可破,所以它可以被颠倒http://www.stottmeister.com/blog/2009/04/14/how-to-crack-md5-passwords/

答案 2 :(得分:0)

仅使用其他提供的凭据更改密码。 您可以在数据库中以纯文本格式存储密码,但在验证时对其进行加密。网络解决方案应该是 - > 1.从用户那里获取密码 2.从中获取md5哈希值 3.将md5发送到服务器进行验证。 我不建议存储纯文本密码:)