PHP-Bcrypt哈希比较始终失败

PHP-Bcrypt哈希比较始终失败,php,hash,passwords,bcrypt,Php,Hash,Passwords,Bcrypt,我试图在PHP5.4.16中使用password_compat库提供的bcrypt,但是这个脚本总是输出“Fail”,即使它比较相同密码的两个哈希,为什么 编辑-只是为了澄清一下,我意识到散列值不完全相同,否则我会比较它们而不是使用函数。您需要将密码和散列值传递给password\u verify(): 参考资料: PS:password\u hash预期会生成不同的结果,因为它包含一个随机saltGah,我不能相信我忽略了这一点,我看到他们在示例中使用了一个变量,我假设它是另一个hash

我试图在PHP5.4.16中使用password_compat库提供的bcrypt,但是这个脚本总是输出“Fail”,即使它比较相同密码的两个哈希,为什么


编辑-只是为了澄清一下,我意识到散列值不完全相同,否则我会比较它们而不是使用函数。

您需要将密码和散列值传递给
password\u verify()

参考资料:


PS:
password\u hash
预期会生成不同的结果,因为它包含一个随机salt

Gah,我不能相信我忽略了这一点,我看到他们在示例中使用了一个变量,我假设它是另一个hash。非常感谢,我会在几分钟内接受答案,如果它允许的话。@Cains这就是为什么我使用一个特定的PHP IDE-它建议我使用一个带有参数的函数,如:“password\u verify(password:string,hash:string)bool”这就是哈希的要点。没有两个人是一样的。我发现使用河豚也能让生活更轻松
<?php

require 'password.php';
$hash1 = password_hash('testpassword',PASSWORD_BCRYPT,array('cost' => 11));
$hash2 = password_hash('testpassword',PASSWORD_BCRYPT,array('cost' => 11));

if(password_verify($hash1,$hash2)) echo 'Pass';
else echo 'Fail';

?>
password_verify('testpassword', $hash1)