password_verify
验证密码是否和散列值匹配
PHP 5.5.0 及以上版本
password_verify() 用于验证一个明文密码是否与通过 password_hash() 生成的哈希值匹配。通常用于用户登录时验证用户输入的密码是否正确。
bool password_verify ( string $password , string $hash )
如果密码和哈希匹配,返回 true;否则返回 false。
以下示例展示了如何使用 password_verify() 来验证用户输入的密码:
示例代码:
<?php // 假设数据库中存储的密码哈希 $hash = '$2y$10$e0NRt1l.8jyZ9q1DixQ1IOl3Jy9GVfjvJHG0Dc2YjYxiZ0lDvWhN2'; <p>// 用户输入的密码<br> $password = 'mypassword123';</p> <p>// 验证密码<br> if (password_verify($password, $hash)) {<br> echo "密码验证成功,允许登录。";<br> } else {<br> echo "密码错误,拒绝登录。";<br> }<br> ?><br>
示例中,$hash 是数据库中存储的经过 password_hash() 加密的密码哈希值,$password 是用户尝试登录时输入的明文密码。password_verify() 会自动对明文密码进行哈希处理并与存储的哈希进行比较。如果匹配则返回 true,表示密码正确。