P粉0990000442023-07-31 13:54:06
我找到了问题所在!问题似乎是由于在$adminPasswordHashVERIFY变量中使用双引号(")引起的。当使用双引号时,PHP会解释字符串并替换其中的变量。由于没有名为$fReIQ的变量,PHP将其视为未定义的变量,导致验证时产生错误的哈希值。
要解决这个问题,在$adminPasswordHashVERIFY变量中使用单引号(')引起哈希密码。这样可以确保哈希密码被视为普通字符串,而不是由PHP解释。
现在,如果你尝试以下代码,你将得到输出"密码正确!"。
<?php $adminPassword = "test123"; $adminPasswordHash = password_hash($adminPassword, PASSWORD_BCRYPT); $adminInputPassword = "test123"; $adminPasswordHashVERIFY = 'y$o4qspRTirOSdyGtwHCxt6ee2i0BNChl3mEPazxVbmb534kw3ACHCm'; if (password_verify($adminInputPassword, $adminPasswordHashVERIFY)) { echo "Password is correct!"; } else { echo "Password is incorrect!"; } ?>