【发布时间】:2011-06-22 09:49:53
【问题描述】:
我有这个登录系统,我刚刚(终于)添加了哈希 256。今天早些时候,我有a very long thread 和@KingCrunch 以及其他一些人,他们帮助了我很多。再次非常感谢。
但我现在不想做的是,我想通过使用使 $salt 独一无二:
$salt = uniqid(mt_rand()); $salt = uniqid(mt_rand());
$password = hash('sha256', $salt.$_POST['password']);
在创建一个新成员时,它会被设置,并添加到名为“salt”的行下的数据库中。
现在,当我尝试使用创建的凭据登录时,它不会让我登录。
$salt = $row['salt'];
$password = hash('sha256', $salt.$_POST['password']);
$username = mysql_real_escape_string($_POST['username']);
$sql= "SELECT * FROM members WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);
这是我的 login_ac.php,在这里我将 $salt 变成了 row['salt']。我认为这永远不会成功,因为我还没有告诉它必须选择行中的哪一列盐。
所以我的问题是:我如何让它发挥作用?是否必须创建另一个查询或类似的东西?
我需要 $salt 从 row['salt'] 中挑选,因为我希望 salt 是独一无二的。
【问题讨论】:
-
这个问题是关于mysql而不是hash和sha256,标签应该改