(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — 验证密码是否与哈希匹配
验证给定的哈希是否与给定的密码匹配。 password_verify() 与 crypt() 兼容。因此,由 crypt() 创建的密码哈希可以与 password_verify() 一起使用。
请注意,password_hash() 会将算法、成本和盐作为返回的哈希的一部分返回。因此,验证哈希所需的所有信息都包含在其中。这允许验证函数在不需要单独存储盐或算法信息的情况下验证哈希。
此函数对计时攻击是安全的。
password
用户的密码。
hash
由 password_hash() 创建的哈希。
示例 #1 password_verify() 示例
这是一个简化的示例;建议在必要时重新哈希正确的密码;有关示例,请参见 password_needs_rehash()。
<?php
// 请参见 password_hash() 示例以了解这来自何处。
$hash = '$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a';
if (password_verify('rasmuslerdorf', $hash)) {
echo '密码有效!';
} else {
echo '无效的密码。';
}
?>
以上示例将输出
Password is valid!