驗證密碼是否和雜湊值匹配

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!

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *