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!"; } ?>