我散列密碼,值插入數據庫的方式,爲什麼這個密碼哈希和比較不起作用?
$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