首頁 >後端開發 >php教程 >使用 PHP 的「password_hash()」時是否應該單獨儲存鹽?

使用 PHP 的「password_hash()」時是否應該單獨儲存鹽?

Barbara Streisand
Barbara Streisand原創
2024-12-29 06:23:10927瀏覽

Should I Store the Salt Separately When Using PHP's `password_hash()`?

使用PHP 5.5的password_hash和password_verify函數進行安全密碼存儲

問題:

當使用PHP 5.5的password_hash()函數來儲存使用者密碼,鹽是否應該與雜湊分開儲存?

答案:

不,將鹽與雜湊分開存放是不正確的。 password_hash() 函數產生一個包含雜湊值和鹽值的字串。這是正確的使用方法:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Insert $hashAndSalt into database against user

驗證密碼:

if (password_verify($password, $hashAndSalt)) {
    // Verified
}

這種方法提供了最佳的安全性,因為它可以防止攻擊者訪問鹽並破壞哈希值。另外,建議使用 mysqli 而不是 ext/mysql,後者在 PHP 5.5 中已棄用,並注意 SQL 注入漏洞。

以上是使用 PHP 的「password_hash()」時是否應該單獨儲存鹽?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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