(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — 驗證密碼是否符合雜湊值
驗證給定的雜湊值是否與給定的密碼相符。 password_verify() 與 crypt() 相容。因此,由 crypt() 建立的密碼雜湊值可以與 password_verify() 一起使用。
請注意,password_hash() 會將演算法、成本和鹽值作為返回雜湊的一部分。因此,驗證雜湊所需的所有資訊都包含在其中。這使得驗證函數無需另外儲存鹽值或演算法資訊即可驗證雜湊。
此函數可防止計時攻擊。
password
使用者的密碼。
hash
由 password_hash() 建立的雜湊。
範例 #1 password_verify() 範例
這是一個簡化的範例;建議在必要時重新雜湊正確的密碼;有關範例,請參見 password_needs_rehash()。
<?php
// 請參閱 password_hash() 範例以了解其來源。
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo '密碼有效!';
} else {
echo '密碼無效。';
}
?>
上述範例將輸出
Password is valid!