我在php create admin/login特性中使用了password_compat库。我可以为每个用户上传散列编码的密码,但当我从数据库中提取用户信息,并将其与他们使用password_verify输入的登录密码进行比较时,它会转到else语句,并给出一个错误。这是我的代码。
if (isset($_POST['submit'])) {
$entered_username = trim($_POST['username']);
$entered_password = trim($_POST['password']);
// Check database to see if username/password exist
$found_user = Users::get_user($entered_username);
// Creates/Add record to log.txt
//log_action('Login', "{$found_user->username} logged in.");
if (password_verify($entered_password, $found_user->password)) {
// login successful
redirect_to("index.php");
} else {
$message = "Username/password combination incorrect." . $found_user->password;
}
}当它显示错误时,我让它也显示密码-只是为了确保对象属性被分配,并且它正在提取散列密码,它确实是这样做的。

我想我错过了一个小步骤,任何帮助都将不胜感激!谢谢!
发布于 2014-06-08 11:39:24
我想通了。哈希密码的列长度至少需要为60。基本上,它的空间正在耗尽。
https://stackoverflow.com/questions/24102455
复制相似问题