password_verify

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

password_verify验证密码是否与哈希匹配

描述

password_verify(#[\SensitiveParameter] string $password, string $hash): bool

验证给定的哈希是否与给定的密码匹配。 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