PHPass的正确实现

PHPass的正确实现,php,passwords,phpass,Php,Passwords,Phpass,我使用PHPass在我的应用程序中存储用户密码,因为它比md5或sha1更安全。我有一个问题,我将如何使用密码盐 根据我收集的信息,我在插入用户时会这样使用它: $pwdHasher = new PasswordHash(8, false); $hash = $pwdHasher->HashPassword($input_password); 然后,当您在登录时检查用户详细信息时,您会执行以下操作: $pwdHasher = new PasswordHash(8, FALSE); if

我使用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';
}
但我看不到有什么东西需要盐。从我读到的内容来看,我的用户表应该有一个额外的salt字段,在散列密码时使用该字段,但是PHPass的
CheckPassword
方法没有salt


谢谢。

Phpass在散列密码时会添加一个salt,因此无需添加单独的salt并将其存储在数据库中

我当然会告诉你改用我的图书馆。但那是错误的。PHPass可能会创建盐本身,然后将其存储在散列中。只需快速查看文档即可。