检查哈希/盐密码时出现PHP登录问题

检查哈希/盐密码时出现PHP登录问题,php,hash,passwords,salt,account,Php,Hash,Passwords,Salt,Account,我的checkPassword()方法每次都返回false,即使我知道它是正确的。我使用了与检查相同的哈希/盐析方法,我确保了一切都是应该的,但仍然返回false。 我正在使用这里找到的“Bcrypt PHP类”散列所有内容 下面是我如何对密码进行哈希运算的: $password = Bcrypt::hashPassword($_POST['password']); $check = Bcrypt::checkPassword($password, $user['password']); 以

我的checkPassword()方法每次都返回false,即使我知道它是正确的。我使用了与检查相同的哈希/盐析方法,我确保了一切都是应该的,但仍然返回false。 我正在使用这里找到的“Bcrypt PHP类”散列所有内容 下面是我如何对密码进行哈希运算的:

$password = Bcrypt::hashPassword($_POST['password']);
$check = Bcrypt::checkPassword($password, $user['password']);
以下是我如何检查密码:

$password = Bcrypt::hashPassword($_POST['password']);
$check = Bcrypt::checkPassword($password, $user['password']);
($user是用户信息的数组,如用户名、密码、电子邮件等) $check即使在检查所有内容是否完全正确后仍然为false。也没有错误。 提前感谢任何能帮助我的人。 Bcrypt方法:

public static function checkPassword($password, $storedHash) {
if (version_compare(PHP_VERSION, '5.3') < 0) {
  throw new Exception('Bcrypt requires PHP 5.3 or above');
}

self::_validateIdentifier($storedHash);
$checkHash = crypt($password, $storedHash);

return ($checkHash === $storedHash);
}
public static function hashPassword($password, $workFactor = 0) {
if (version_compare(PHP_VERSION, '5.3') < 0) {
  throw new Exception('Bcrypt requires PHP 5.3 or above');
}

$salt = self::_genSalt($workFactor);
return crypt($password, $salt);
}
公共静态函数checkPassword($password,$storedHash){
如果(版本比较(PHP版本,'5.3')<0){
抛出新异常('Bcrypt需要PHP5.3或更高版本');
}
self::_validateIdentifier($storedHash);
$checkHash=crypt($password,$storedHash);
返回($checkHash==$storedHash);
}
公共静态函数hashPassword($password,$workFactor=0){
如果(版本比较(PHP版本,'5.3')<0){
抛出新异常('Bcrypt需要PHP5.3或更高版本');
}
$salt=self::_genSalt($workFactor);
返回密码($password,$salt);
}

为什么不使用密码\u hash()?()

如果password字段是varchar且最少60个字符(对于password_散列,对于Bcrypt PHP类不知道),请查看数据库

编辑:
Bcrypt PHP类创建一个60个字符的散列,检查您的字段是否具有此最小值

您也可以发布函数吗?