1

I am hashing password together with a user login and saving it in the database as VARBINARY 20 bytes long.

Now, I am trying to build Login page in asp.net. How can I source the password value from database to compare it with the one provided by the user? I use SqlDataReader to read the database.

Regards,

Bartosz

4

4 回答 4

1

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

于 2012-09-13T10:11:21.643 回答
0

您不会取消散列数据库密码并将其与输入进行比较。

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

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

于 2012-09-13T10:10:18.643 回答
0

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

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

于 2012-09-13T10:10:57.237 回答
0

As RB. said, you retrieve the hashed passed from the database. Then you take the password provided by the user and hash it using the same hashing algorithm you used previously. If the hashcode from the database matches the hashcode for the user entered password, then the password is correct.

于 2012-09-13T10:11:57.800 回答