我正在使用以下内容对用户密码进行 sha1 和 slat 并将它们保存在数据库中。
$salt = sha1($password);
$hashedPass = sha1($salt.$password);
现在我需要能够在登录表单中使用这个保存的密码。
我正在使用以下代码,登录表单一直告诉我输入了错误的信息:
$password = (!empty($_POST['password'])) ? sha1($_POST['password']) : '';
有人可以帮我解决这个问题吗?
提前致谢。
最佳答案
看起来您将哈希密码作为 sha1($salt.$password) 存储在数据库中,但在检查密码的逻辑中,您只是将其设置为 sha1($password)。因此它与数据库值不匹配。
您需要设置 $password = sha1(sha1($_POST['password']).$_POST['password']);
但是,将盐仅存储为密码的 sha1 是没有意义的。
关于php - 使用 PHP 在登录表单中使用 sha1 加盐密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23037625/