首頁 >後端開發 >php教程 >為什麼 PHP 的 `password_verify` 回傳 False?

為什麼 PHP 的 `password_verify` 回傳 False?

Linda Hamilton
Linda Hamilton原創
2024-12-04 03:18:12552瀏覽

Why is PHP's `password_verify` Returning False?

Password_Verify 回傳False 疑難排解

當您使用PHP 5.5 透過password_verify 驗證潛在雜湊密碼時,有必要調查潛在原因的錯誤返回。

Column長度考量

password_verify 的一個常見問題源自於資料庫中儲存的雜湊密碼的長度。手冊建議將雜湊密碼儲存在可容納 60 個以上字元的欄位中,其中 255 個字元是最佳選擇。如果您的資料庫列太短,無法容納 PHP 密碼雜湊函數產生的雜湊密碼,則可能會導致驗證結果不正確。

因此,請驗證您的資料庫列有足夠的長度來儲存雜湊密碼。如果該列確實太短,請將其擴展至適當的大小(例如 255 個字元),並確保儲存的雜湊密碼相應更新。

其他故障排除提示

除了列長度之外,可能還有其他因素導致錯誤回傳:

  • 密碼雜湊不正確:在產生用於儲存的雜湊密碼時,仔細檢查您是否使用了正確的雜湊函數和鹽。
  • 資料類型不符:在您的PHP 程式碼中,確保使用者提供的密碼和從資料庫檢索到的雜湊密碼都是相同的資料類型(例如,兩個字符串)。
  • 尾隨空格: 在驗證使用者提供的密碼和雜湊密碼之前,刪除所有尾隨空格。
  • 已棄用的函數: 確保您使用的是目前版本的 PHP 和正確的密碼雜湊函數。避免使用 md5 或 sha1 等已棄用的函數。

以上是為什麼 PHP 的 `password_verify` 回傳 False?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn