[英]Should we hash the password reset tokens and store them in database?
我正在为ASP.NET应用程序执行密码重置机制。
而且我想知道既然有人可以访问我的数据库,那么他们可以轻松地读取密码重置令牌并更改用户的密码,我是否不应该对“密码重置令牌”进行哈希处理然后存储在数据库中?
注意:我说的是“密码重置令牌”,而不是实际的“密码”
如果“密码重置令牌”允许某人使用其他明文信息重置密码,则该密码实际上与密码相同,因此应被视为 。
使它们过期几分钟或几小时,并像对待秘密一样对待它们,因为它们确实如此。
是的,我建议您对重置令牌进行哈希处理,然后将其存储在数据库中。
同样,在使用它们之后,删除记录也是一个好习惯。 您可以使用AesCryptoServiceProvider或其他一些密码提供程序来完成这项工作。 有关如何使用它们的代码示例很多。
我建议这样做,并认为这样做是一种很好的做法。
您应该已经拥有适当的基础结构来相当轻松地完成此操作,因为您应该已经使用密码进行了此操作。
好处:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.