正确实现PHPass

时间:2011-12-29 22:53:00

标签: php passwords phpass

我正在使用PHPass在我的应用程序中存储用户密码,因为它比md5或sha1更安全。我有一个关于如何使用盐密码的问题。

从我收集的内容中,当您插入用户时,我会像这样使用它:

$pwdHasher = new PasswordHash(8, false);
$hash = $pwdHasher->HashPassword($input_password);

然后当您在登录时检查用户详细信息时,您执行以下操作:

$pwdHasher = new PasswordHash(8, FALSE);
if ($pwdHasher->CheckPassword($input_password, $hash_from_db)) {
    echo 'password correct';
} else {
    echo 'wrong credentials';
}

但我看不到任何使用盐的东西。根据我的阅读,我的用户表应该有一个额外的字段,用于哈希密码时使用的盐,但PHPass的CheckPassword方法不需要盐?

感谢。

1 个答案:

答案 0 :(得分:5)

Phpass在哈希密码时添加一个盐,因此无需添加单独的盐并将其存储在数据库中。