PHP password_verifiy 返回 true,而哈希值不正确

问题描述 投票:0回答:1

我有以下带有用户密码的代码,其中包含河豚秘密和用户密码本身。

哈希值是另一个(不是秘密和密码!!),但我仍然得到一个 true 结果:

<?php
## password (secret + userpass)
$pass = 'PNvH5GFfUKktXWpydfAMXMYKayjEP3GzfJbaenmzuAHSTv7rQgW8t4ShEKpdcD5nek8eArGQyfz9XRx6ARBc897YVdetest';

## hash
$hash = '$2y$10$9VGEg7HamRVDILsFV5dvJu3l5.Psfk4g6N8.Jcn6/gMhoZIKDLAAm';

## verify
$check = password_verify($pass, $hash);

## check
if(true === $check) {
    
    var_dump($check);
    
} else {
    
    echo "false";
    
}
?>

我得到了错误的结果。

php password-hash
1个回答
-1
投票

请使用password_hash()生成密码的哈希值,然后在password_verify()函数中使用该哈希值。

<?PHP
 $pass = "secret_password";

 $hash = password_hash($pass, PASSWORD_DEFAULT); //please use this for generating the hash



## verify
$check = password_verify($pass, $hash);

 ## check
if(true === $check) {

   var_dump($check);

 } else {

    echo "false";

 }

?> 
© www.soinside.com 2019 - 2024. All rights reserved.