ASP.NET 成员(member)资格提供商 - 验证哈希安全问题/答案

标签 asp.net membership-provider

在页面上我添加检索忘记的用户名

第1步)输入电子邮件地址(通过电子邮件获取帐户)

第 2 步)验证安全问题(他们提供答案,我进行验证)

第 3 步)向他们发送一封包含用户名的电子邮件

第 2 步是我陷入困境的地方。如何使用数据库中存储的内容验证答案?

所有值都经过哈希处理。

我看到其他类似的问题,但他们没有回答这个问题,至少没有明确回答。

最佳答案

就像您所说,数据库中的值经过哈希处理,因此为了验证用户输入的内容与数据库中的内容匹配,请对用户输入的值进行哈希处理并比较两个哈希值。如果它们相等,则验证有效。

您基本上需要先对答案文本进行哈希处理,然后再将其与数据库中的值进行比较。

此外,请注意,有时答案文本在哈希之前会用一个值加盐,因此在验证时需要采取相同的步骤。

关于ASP.NET 成员(member)资格提供商 - 验证哈希安全问题/答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884317/

相关文章:

.net - 如何微调成员(member)提供商?

ASP.NET 成员(member)资格 - 让用户使用以前的密码

c# - 两个属性 asp.net mvc 之间条件的数据验证属性

ASP.NET 本地化 : Do changes in resx files results in sessions being killed?

javascript - 从 asp net 标记将参数传递给 Javascript 函数

c# - foreach 循环为 mvc View 中的所有帖子显示相同的图像

c# - 在 aspx 上获取 ascx

asp.net-mvc - Postgres 的 ASP.NET 成员/角色提供者?

asp.net-mvc - 使用 NHibernate 时如何处理成员资格/角色?

PostgreSQL 和 dev.nauck.AspSQLProvider 的 ASP.NET 成员资格