我散列密码,值插入数据库的方式,为什么这个密码哈希和比较不起作用?
$q = $dbc -> prepare("INSERT INTO accounts (username, email, password, type, gender, joined)
VALUES (?, ?, ?, ?, ?, ?)");
$q -> execute(array($_POST['username'], $_POST['email'],
hash('sha256', $_POST['password'] . date('y/m/d')),
$_POST['type'], $_POST['gender'], date('y/m/d')));
当我比较再这样,
if ($count == 1
&& $info['password'] === hash('sha256', $_POST['password'].$info['joined'])
&& $info['logcount'] != -1)
两个哈希工作,但抛出的值不同?我正在使用完全相同的公式来创建和比较。
我正在接受用户密码,将其与当前日期进行腌制,然后进行哈希处理,两个值都存储在数据库中并进行比较,完成同样的事情,所有在线教程都是关于哈希和创建安全哈希,没有比较。
感谢
我被告知在这里使用日期作为盐?这个主题有很多观点,我很难看到。 – Version1 2011-04-21 23:07:01
你会如此善良分享你的腌制方法,谢谢你的答案。 – Version1 2011-04-21 23:14:45
两件事:1.预先抓取日期,2.使用“加入”字符串,或者使用您认为与您的特定SQL实现完全匹配的格式。 – EboMike 2011-04-21 23:19:11