4

我正在使用 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';
}

但我在那里看不到任何使用盐的东西。根据我的阅读,我的用户表应该有一个额外的字段用于哈希密码时使用的盐,但是CheckPasswordPHPass 的方法不带盐?

谢谢。

4

1 回答 1

6

Phpass 在对密码进行哈希处理时会添加盐,因此无需添加单独的盐并将其存储在数据库中。

于 2012-03-02T06:59:32.997 回答