【发布时间】:2021-03-04 18:48:09
【问题描述】:
我使用 generate_password_hash 烧瓶函数对密码进行哈希处理并将其保存到数据库中
我怎样才能将其作为纯文本再次取消散列,以将其作为邮件发送给忘记密码的用户?
【问题讨论】:
我使用 generate_password_hash 烧瓶函数对密码进行哈希处理并将其保存到数据库中
我怎样才能将其作为纯文本再次取消散列,以将其作为邮件发送给忘记密码的用户?
【问题讨论】:
这个不能做,也不推荐。
根据定义,哈希是一种单向操作。您可以对密码进行哈希处理,但不能将其取消哈希处理为纯文本。
我们的目标是保护作为服务器和数据库管理员的您,这样如果您遭到入侵,并且不法分子拿走了您的整个用户表,他们将无法确定这些用户的密码。
最好的策略是简单地允许用户重置他们的密码,这通常是通过电子邮件给他们一个一次性使用重置链接来完成,其中包含一个长的随机生成的 UUID(或等效),他们可以用来临时验证和更改他们的密码。
另一种策略是您可以为他们重置密码并通过电子邮件向他们发送一个临时密码,他们下次登录时必须更改该密码,但第一种方法更好。
如果某个服务曾经以纯文本形式向我发送我自己的密码,我会非常担心!
【讨论】: