password_verify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — 驗證密碼是否和雜湊值匹配
說明
password_verify(string
$password
, string $hash
): bool驗證密碼是否和指定的雜湊值匹配。
注意 password_hash() 返回的雜湊包含了演算法、 cost 和鹽值。 因此,所有需要的資訊都包含內。使得驗證函式不需要儲存額外鹽值等資訊即可驗證雜湊。
時序攻擊(timing attacks)對此函式不起作用。
參數
-
password
-
使用者的密碼。
-
hash
-
一個由 password_hash() 建立的雜湊值。
返回值
如果密碼和雜湊值匹配則返回 true
,否則返回 false
。
範例
示例 #1 password_verify() 例子
<?php
// 想知道以下字元從哪裡來,可參見 password_hash() 的例子
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
?>
以上例程會輸出:
Password is valid!
參見
- password_hash() - 建立密碼的雜湊(hash)
- » 使用者使用
- sodium_crypto_pwhash_str_verify() - Verifies that a password matches a hash