在页面上我添加检索忘记的用户名
第1步)输入电子邮件地址(通过电子邮件获取帐户)
第 2 步)验证安全问题(他们提供答案,我进行验证)
第 3 步)向他们发送一封包含用户名的电子邮件
第 2 步是我陷入困境的地方。如何使用数据库中存储的内容验证答案?
所有值都经过哈希处理。
我看到其他类似的问题,但他们没有回答这个问题,至少没有明确回答。
最佳答案
就像您所说,数据库中的值经过哈希处理,因此为了验证用户输入的内容与数据库中的内容匹配,请对用户输入的值进行哈希处理并比较两个哈希值。如果它们相等,则验证有效。
您基本上需要先对答案文本进行哈希处理,然后再将其与数据库中的值进行比较。
此外,请注意,有时答案文本在哈希之前会用一个值加盐,因此在验证时需要采取相同的步骤。
关于ASP.NET 成员(member)资格提供商 - 验证哈希安全问题/答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/884317/