我使用具有類型時間戳的mysql列醃製用戶密碼,默認值爲CURRENT TIMESTAMP。Mysql NOW()和PHP時間()?
我的兩個mysql和php的時區是相同的。現在
我的問題是這樣的,
$q = $dbc -> prepare("INSERT INTO accounts (password) VALUES (?)");
$q -> execute(array(hash('sha512', 'somestaticsalt' . $_POST['password'] . time())));
,你可以看到我有一個PHP的時間函數和MySQL的一側是默認的時間戳哈希值。
某處必須有重疊,因爲在用戶輸入正確的信息的情況下,它仍然無法匹配數據庫中的哈希密碼。
我已經嘗試在連接列中插入time(),但它在1970年返回。我也不想將時間戳保存爲INT,因爲這不是正確的事情,所以您的想法是什麼?
不好主意,鹽應該是隨機的。 – 2011-09-26 03:14:45
不,鹽應該是唯一的,不是隨機的,隨機性意味着不唯一。 – pv1
兩者,你的是可預測的,這是問題。 – 2011-09-26 03:17:30