我正在尝试创建带有 $salt 变量的 sha256 散列密码。但由于某种原因,它只是行不通。现在已经为此工作了 3 个小时,我正要扯掉我的头。这是我的代码:
我会再试一次,对不起;o)
好的,我的脚本运行良好,直到我尝试将 sha256 添加到密码中。我有一个用于创建用户的文件:
$salt = "lollol";
$password = hash('sha256', $salt.$_POST['password']);
$sql = ("INSERT INTO members (username, password, name, last_name,company)VALUES('$username', '$password', '$name', '$last_name', '$company')")or die(mysql_error());
if(mysql_query($sql))
echo "Your accuont has been created.";
似乎它已正确添加到数据库中。我可以看到它被一些字母和数字散列。
但是当我尝试登录时,它就不会了。
我的 login.php 代码是:
$sql= "SELECT * FROM members WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$salt = "lollol";
$auth_user = hash('sha256', $salt.$password);
if($password == $salt.$auth_user){
echo "Logged in";
} else {
echo "Not logged in";
}
我明白了,当我想登录时,我必须加密密码,但我不确定。我希望你们中的一些人可以帮助我。