我无法将用户密码发送到他的电子邮箱中。 everthing正常,但问题是,密码是md5哈希,当我向用户发送密码时,哈希md5密码不是原始密码。 我想在保持密码哈希的同时发送原始的 我怎么能这样做?
答案 0 :(得分:2)
在将密码保存到数据库后,您永远不能以纯文本形式恢复密码;我们正确地哈希密码以使其成立。如果用户忘记了密码,请发送已注册电子邮件的链接以重置密码并覆盖数据库中的旧密码。
答案 1 :(得分:1)
在这种情况下,您可以使用SHA1算法。在MD5中,您可以进行编码,但无法使用任何算法进行解码。
答案 2 :(得分:0)
允许他重置密码,并将“特殊”链接发送到他的电子邮箱。一旦他点击该链接 - 更新数据库说他已点击链接(因此使其过期),然后让他回答“重置”问题,如他输入的DOB或他的电话号码。或者其他一些问题。
之后,允许他选择一个新密码 - 然后你就完成了。
答案 3 :(得分:0)
您不能解码md5字符串。因此,最好的选择是再次使用安全问题或类似方法验证用户,并让他重置密码。此外,这是一种更好的做法,因为用户可能在许多地方使用相同的密码。
或者,您可以为自己的用户重置密码。 只需使用随机字符串或您自己的字符串,然后使用md5并更新密码。然后,您可以将该随机字符串或您设置的字符串发送给用户。
希望这有帮助