2

我是哈希密码存储的新手。有人可以指出我可能做错了什么。我正在使用专门的 PHP,而不是 C 或 C 的任何偏差。

存储哈希:

  1. 接收密码
  2. 使用类似的算法和成本因子将其发送到password_hash()函数中。sha-512
  3. 有点卡在这里。迭代时是否使用收到的密码哈希?
  4. pbkdf2使用键偏差功能对其进行长度。
  5. 存储在数据库中。

检索哈希:

  1. 获取用户对密码的尝试。
  2. 也卡在这里,但我假设您使用该password_verify功能。
  3. 如果匹配验证其他拒绝。

如果有人可以发布一个正确的解决方案,那将非常感激。

4

1 回答 1

2

如果您可以使用内置选项,为什么还要使用 while() 循环呢?

$password = $_POST['password'];
$hash = password_hash($password,PASSWORD_DEFAULT, array('cost' => 12));
echo $hash;

这是正确的做法。要验证密码,您只需执行以下操作。

if(password_verify($password, $hash)){
    //valid password
}
于 2015-12-26T12:40:44.737 回答