Hash 用户身份验证失败/w哈希
我需要保护我的网络商店中的一些区域,以供管理员使用。 问题在于用户的身份验证:salt+哈希失败 这是我创建密码的代码(使用PHP5.x):Hash 用户身份验证失败/w哈希,hash,passwords,sha1,salt,Hash,Passwords,Sha1,Salt,我需要保护我的网络商店中的一些区域,以供管理员使用。 问题在于用户的身份验证:salt+哈希失败 这是我创建密码的代码(使用PHP5.x): $salt=rand(099999999) $passEncr=sha1($pass1+salt); 此变量$passEncr与其salt一起插入数据库 在登录页面,我进行了以下检查: $password = $_POST['password']; // hash+salt in the database $storedSalt = $row['sal
$salt=rand(099999999)
$passEncr=sha1($pass1+salt);
此变量$passEncr与其salt一起插入数据库
在登录页面,我进行了以下检查:$password = $_POST['password']; // hash+salt in the database
$storedSalt = $row['salt']; // salt from database<br>
if (sha1($password + $storedSalt) == $row['password'])
$password=$\u POST['password'];//数据库中的hash+salt
$storedSalt=$row['salt'];//来自数据库的盐
如果(sha1($password+$storedSalt)==$row['password'])
现在我遇到的问题是,有些散列看起来是一样的。
如果我尝试使用字母数字密码登录,无论密码的内容是什么,我都会成功。
在此处进行完整登录检查:
有人能解释一下我做错了什么吗?好吧,我首先看到的是SQL注入,使用SHA而不是bcrypt作为密码,而不使用OpenId这样你就可以不用存储密码了 至于密码是否相同,我会检查数据库——查看您存储的内容,这将告诉您问题所在
$password = $_POST['password']; // hash+salt in the database
$storedSalt = $row['salt']; // salt from database<br>
if (sha1($password + $storedSalt) == $row['password'])