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

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

Patricia Arquette
發布: 2024-12-04 06:26:13
原創
807 人瀏覽過

Why is `password_verify` Returning False in PHP?

為什麼password_verify回傳False?

當嘗試使用PHP的password_verify函數驗證密碼時,如下所示,您可能會遇到false正面:

if (password_verify($_POST['user_password'], $result_row->user_password_hash)) {
    // ...
}
登入後複製

原因:

問題可能源自於資料庫中密碼雜湊的長度。根據 PHP 手冊,建議將密碼雜湊儲存在能夠容納至少 255 個字元的欄位中。這確保了與 bcrypt 演算法的兼容性,該演算法對長度敏感。

解決方案:

將資料庫中密碼雜湊的長度擴充至至少 255人物。為此,請相應地修改您的資料庫架構,如下所示:

ALTER TABLE users MODIFY COLUMN user_password_hash VARCHAR(255);
登入後複製

這將允許password_verify 透過將密碼與儲存的雜湊值進行比較來準確驗證密碼。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板