Bcrypt password_compat PHP库

时间:2013-11-19 11:52:58

标签: php bcrypt

https://github.com/ircmaxell/password_compat

我正在使用上面的库向我的网站实施bcrypt。如描述中所述,password_verify()可用于检查密码是否对应于特定散列。这是我在用户登录时应该使用的内容吗?获取他们输入的密码并将其与数据库中的哈希进行比较?

问题二,腌制进来的地方?我不需要为每个用户在数据库中存储盐吗?

1 个答案:

答案 0 :(得分:2)

是的,password_verify是用于根据其哈希版本验证明文密码的函数。

Salting已经是流程的一部分,生成的哈希包含一个随机盐。您无需手动执行此操作。

确实如此简单:

$registeredPassword = 'password';
$hashedPassword     = password_hash($registeredPassword);
// store $hashedPassword in database...

$enteredPassword = 'password';
if (password_verify($enteredPassword, $hashedPassword)) {
    // login successful
}

password_hash实现负责安全盐析和散列。请务必阅读手册及其示例和说明:http://php.net/manual/en/function.password-hash.phphttp://php.net/manual/en/function.password-verify.php