正确实现PHPass

Jam*_*son 4 php passwords phpass

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

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

$pwdHasher = new PasswordHash(8, false);
$hash = $pwdHasher->HashPassword($input_password);
Run Code Online (Sandbox Code Playgroud)

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

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

但我没有看到任何使用盐的东西.根据我的阅读,我的用户表应该有一个额外的字段,用于散列密码时使用的盐,但CheckPasswordPHPass 的方法不需要盐?

谢谢.

Faj*_*hos 6

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