我有以下带有用户密码的代码,其中包含河豚秘密和用户密码本身。
哈希值是另一个(不是秘密和密码!!),但我仍然得到一个 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";
}
?>
我得到了错误的结果。
请使用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";
}
?>