password_verify

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

password_verify驗(yàn)證密碼是否和散列值匹配

說(shuō)明

password_verify(string $password, string $hash): bool

驗(yàn)證密碼是否和指定的散列值匹配。

注意 password_hash() 返回的散列包含了算法、 cost 和鹽值。 因此,所有需要的信息都包含內(nèi)。使得驗(yàn)證函數(shù)不需要儲(chǔ)存額外鹽值等信息即可驗(yàn)證哈希。

時(shí)序攻擊(timing attacks)對(duì)此函數(shù)不起作用。

參數(shù)

password

用戶(hù)的密碼。

hash

一個(gè)由 password_hash() 創(chuàng)建的散列值。

返回值

如果密碼和散列值匹配則返回 true,否則返回 false

范例

示例 #1 password_verify() 例子

<?php
// 想知道以下字符從哪里來(lái),可參見(jiàn) password_hash() 的例子
$hash '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';

if (
password_verify('rasmuslerdorf'$hash)) {
    echo 
'Password is valid!';
} else {
    echo 
'Invalid password.';
}
?>

以上例程會(huì)輸出:

Password is valid!

參見(jiàn)