我使用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方法不接受盐?
谢谢。
发布于 2012-03-02 14:59:33
Phpass会在散列密码时添加盐,因此不需要添加单独的盐并将其存储在数据库中。
https://stackoverflow.com/questions/8674430
复制相似问题