如何根据加盐和哈希密码和用户名对用户进行身份验证
本文关键字:用户 身份验证 哈希 何根 密码 | 更新日期: 2023-09-27 18:34:10
我正在开发一个.net web api项目,需要在用户表中存储加盐和散列的用户名和密码。
如果用户名和密码字段在用户表中随机散列,并且盐存储在用户的同一行中,我将如何对用户进行身份验证? 我错过了什么吗? 似乎我无法找到用户进行密码比较。
它们本身不是随机散列的。 它们针对同一密钥进行哈希处理。 因此,若要进行身份验证,需要对输入的凭据重复哈希过程,并将该哈希与用户存储的哈希进行比较。
另一个选项是使用内置的成员资格提供程序来处理身份验证。
您对两者进行哈希处理的实际要求实际上是一个非常难以解决的要求。 正如您所确定的,您将无法识别该用户。 因此,您将不得不求助于使用某些排序数据(例如 IP、用户代理字符串等(来做出最佳猜测。 但是,这将是非常危险的。
归根结底,用户名用于标识用户是谁,而不是对该用户进行身份验证。 如果您有安全要求,从不显示用户名或以其他方式保护用户名,请改为显示他们使用其名字或其他标识符登录,以便用户名不会暴露。 归根结底,您必须找到用户记录,而散列用户名只会使这变得更加困难,并且不会为您提供任何真正的安全优势。
可在此处找到其他有价值的安全读数