【发布时间】:2015-08-13 02:53:32
【问题描述】:
我已经开始使用 password_hash() 进行密码散列。我遇到的问题是,当我使用 password_verify() 检查输入值是否与存储在数据库中的散列密码匹配时,每次它都返回 false。
$password = "test";
$query = "SELECT password FROM user WHERE password = :pass ";
$statement = $connection->prepare($query);
$statement->bindParam(":pass", $password);
$statement->execute();
if(password_verify($password, $row['password'])){
echo "Password Valid";
}
else {
echo "Invalid Password";
}
但是,例如,如果我从数据库中复制一个哈希密码值并将其放在 $row['password'] 的位置,并且当我测试代码时,它会返回 true。
if(password_verify($password, '$2y$10$kc09i9YSP.ExmUquMqRnf......')){
echo "Password Valid";
}
请帮忙。
【问题讨论】:
-
检查下面的链接stackoverflow.com/questions/19855715/… 谢谢!
-
SELECT password WHERE password = :password- 真的‽