访问哈希密码

时间:2012-09-13 10:08:03

标签: asp.net hash cryptography sha1 sqldatareader

我将密码与用户登录一起散列,并将其保存在数据库中,长度为20个字节的VARBINARY。

现在,我正在尝试在asp.net中构建Login页面。如何从数据库中获取密码值以将其与用户提供的密码值进行比较?我使用SqlDataReader来读取数据库。

此致

Bartosz

4 个答案:

答案 0 :(得分:1)

您需要将这些存储在包含明文用户名的列的表中,以便根据用户尝试登录获取哈希值。并将散列输入与散列存储的输入进行比较。

答案 1 :(得分:0)

您不要撤消数据库密码并将其与输入进行比较。

您对输入进行哈希处理并将其与密码进行比较。如果两个哈希匹配,则假设它是相同的密码 1

1 从技术上讲,根据您的哈希函数,它可能不是,因为用户可能随机输入的密码哈希值与真实密码相同,但这是迂腐的;)

答案 2 :(得分:0)

如果哈希与初始哈希相同,则使用用户输入的密码创建哈希(使用与创建初始哈希相同的算法)并在数据库中搜索 - >是的,它是相同的密码

哈希的想法是具有不可回复的功能 - >你可以检查它是否相同,但你永远无法重建输入数据。

答案 3 :(得分:0)

作为RB。说,你检索从数据库传递的散列。然后,您获取用户提供的密码,并使用您之前使用的相同哈希算法对其进行哈希处理。如果数据库中的哈希码与用户输入的密码的哈希码匹配,那么密码是正确的。

相关问题