使用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中文網其他相關文章!