我刚刚学会了使用salt和hash来保护我数据库中的密码。现在,我需要创建一个模块,允许用户在忘记密码时恢复密码。如果密码是不可逆的,我该怎么做呢?
发布于 2011-08-13 13:35:48
你不需要尝试恢复他们的旧密码,你只需要为他们创建一个新的密码,或者让他们这样做。
您可以为他们生成一个临时密码,并对该密码进行加盐和散列处理,然后通过电子邮件将新密码发送给他们,或者向他们发送一个电子邮件链接以重置他们的密码。
发布于 2011-08-13 13:46:42
散列密码是一种保护密码持有者的安全措施。如果你存储的是纯文本,并且uses先生的银行账户被第三方访问,因为你只知道他密码的哈希,那么你可能不是那个访问他的银行的人。
也就是说,即使有盐,md5也不是非常牢不可破,所以它是可以逆转的。http://www.stottmeister.com/blog/2009/04/14/how-to-crack-md5-passwords/
发布于 2011-08-13 13:45:59
仅使用其他提供的凭据更改密码。您可以在数据库中以明文形式存储密码,但在验证时对其进行加密。Web解决方案应该是-> 1.从用户处获取密码2.从其中获取例如md5散列3.将md5发送到服务器进行验证。我不建议存储明文密码:)
https://stackoverflow.com/questions/7048785
复制相似问题