繁体   English   中英

我们是否应该对密码重置令牌进行哈希处理并将其存储在数据库中?

[英]Should we hash the password reset tokens and store them in database?

我正在为ASP.NET应用程序执行密码重置机制。

而且我想知道既然有人可以访问我的数据库,那么他们可以轻松地读取密码重置令牌并更改用户的密码,我是否不应该对“密码重置令牌”进行哈希处理然后存储在数据库中?

注意:我说的是“密码重置令牌”,而不是实际的“密码”

如果“密码重置令牌”允许某人使用其他明文信息重置密码,则该密码实际上与密码相同,因此应被视为

使它们过期几分钟或几小时,并像对待秘密一样对待它们,因为它们确实如此。

是的,我建议您对重置令牌进行哈希处理,然后将其存储在数据库中。

同样,在使用它们之后,删除记录也是一个好习惯。 您可以使用AesCryptoServiceProvider或其他一些密码提供程序来完成这项工作。 有关如何使用它们的代码示例很多。

我建议这样做,并认为这样做是一种很好的做法。

您应该已经拥有适当的基础结构来相当轻松地完成此操作,因为您应该已经使用密码进行了此操作。

好处:

  • 实施成本低(现有基础结构应该已经存在)
  • 更安全(安全问题的空间更少)
  • 内心的平静

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM