我在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;
}
}
当它显示错误时我也显示了密码 - 只是为了确保正在分配对象属性并且它正在拉动哈希密码并且确实如此。
我想我错过了一小步,任何帮助都会非常感激!!谢谢!
答案 0 :(得分:0)
我明白了。散列密码的列长度必须至少为60。基本上它已经没空了。