使用PHP的sha256哈希方法时如何比较用户输入和db密码?

时间:2011-02-17 19:21:26

标签: php hash sha256

假设我设置了这样的新用户密码:

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

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

如何在用户登录时将用户输入与其哈希数据库密码进行比较?

2 个答案:

答案 0 :(得分:3)

在登录时,

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

答案 1 :(得分:1)

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