c# - 我们应该散列密码重置 token 并将它们存储在数据库中吗?

标签 c# asp.net password-protection

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

我想知道,如果有人可以访问我的数据库,他们可以轻松读取密码重置 token 并更改用户的密码,我不应该散列“密码重置 token ”然后将它们存储在我的数据库中吗?

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

最佳答案

如果“密码重置 token ”允许某人使用其他明文信息重置密码,那么它实际上与密码和 should be treated as such 相同。 .

让它们过期几分钟或几小时,并将它们视为 secret ,因为它们是。

关于c# - 我们应该散列密码重置 token 并将它们存储在数据库中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49682497/

相关文章:

asp.net - 将 Windows 身份验证重定向到自定义 401 页面

c# - 如何为所有其他运行时错误添加通用错误页面?

security - 密码哈希值的非随机盐

c# - 如何接收隐藏文本框的输入并提交表单?

c# - .NET 中集合的内存分配

c# - 在单独的行上动态创建标签

C#:SQL "Select Top.."查询不返回任何行?

javascript - Nodejs bcrypt库

hash - 什么是 Salt Rounds 以及 Salts 如何存储在 Bcrypt 中?

c# - 如何重构此 C# 代码以使其更易于阅读?