在PHP中将哈希存储到密码

时间:2015-12-26 11:34:28

标签: php database security password-hash php-password-hash

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

存储哈希:

  1. 接收密码
  2. 使用sha-512等算法和费用因素将其发送至password_hash()函数。
  3. 小小的卡在这里。在迭代时,我是否使用收到的密码哈希?
  4. 使用pbkdf2键偏差函数加长它。
  5. 存储在数据库中。
  6. 检索哈希:

    1. 让用户尝试密码。
    2. 也在这里,但我假设您使用password_verify函数。
    3. 如果匹配验证其他拒绝。
    4. 如果有人可以发布一个非常有用的正确解决方案。

1 个答案:

答案 0 :(得分:2)

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

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

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

if(password_verify($password, $hash)){
    //valid password
}