我想将我的注册/登录页面从 md5 更改为 bcrypt。注册部分没问题,但我无法让登录部分正常工作。我正在尝试使用 bcrypt 库;https://github.com/ircmaxell/password_compat/blob/master/lib/password.php。
原来的登录功能(没有md5)是这样的;
function login($username, $password) {
$user_id = user_id_from_username($username);
$username = sanitize($username);
return (mysql_result
(mysql_query
("SELECT COUNT(`user_id`)
FROM `users`
WHERE `username` = '$username'
AND `password` = '$password'"), 0) == 1) ? $user_id : false;
}
我想要做的是检索数据库,但由于 mysql_result 部分,使用原始代码是不可能的。例如,我认为;
function login($username, $password) {
$username = sanitize($username);
$user_query = mysql_query("SELECT `password` FROM `users` WHERE `username` = '$username'");
$row = mysql_fetch_assoc($user_query);
$hash = $row['password'];
password_verify($password, $hash);
}
会解决这个问题,但事实并非如此。
这里有没有 mysql_fetch_assoc() 的解决方案,还是我试图错误地检索数据库?