1

假设我设置了一个新的用户密码,如下所示:

$salt = random_string(40) // some method that spits out a random
                          // 40 alpha-numeric character string

$password = hash('sha256', $_POST['password'] . $salt);

当他想登录时,我如何将用户输入与他的哈希数据库密码进行比较?

4

2 回答 2

3

在登录时,

  1. 获取您在注册时存储在数据库中的密码哈希和盐(使用帐户名或电子邮件地址)
  2. 使用相同的方法和相同的盐对提供的密码进行哈希处理
  3. 将您获得的哈希值与您存储的哈希值进行比较。如果它们相同,则密码匹配。

这里的关键是储存盐。

于 2011-02-17T19:27:15.607 回答
1

存储盐后,您将相同的算法应用于用户发布的内容并将结果与​​存储的密码进行比较。

于 2011-02-17T19:26:32.080 回答