PHP Conference Japan 2024

password_verify

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

password_verify驗證密碼是否符合雜湊值

說明

password_verify(#[\SensitiveParameter] 字串 $password, 字串 $hash): 布林值

驗證給定的雜湊值是否與給定的密碼相符。 password_verify()crypt() 相容。因此,由 crypt() 建立的密碼雜湊值可以與 password_verify() 一起使用。

請注意,password_hash() 會將演算法、成本和鹽值作為返回雜湊的一部分。因此,驗證雜湊所需的所有資訊都包含在其中。這使得驗證函數無需另外儲存鹽值或演算法資訊即可驗證雜湊。

此函數可防止計時攻擊。

參數

password

使用者的密碼。

hash

password_hash() 建立的雜湊。

回傳值

如果密碼和雜湊相符,則返回 true,否則返回 false

範例

範例 #1 password_verify() 範例

這是一個簡化的範例;建議在必要時重新雜湊正確的密碼;有關範例,請參見 password_needs_rehash()

<?php
// 請參閱 password_hash() 範例以了解其來源。
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';

if (
password_verify('rasmuslerdorf', $hash)) {
echo
'密碼有效!';
} else {
echo
'密碼無效。';
}
?>

上述範例將輸出

Password is valid!

另請參閱

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top