我需要在數據庫中存儲的密碼,我用來存放醃密碼的SHA1哈希旁邊一個隨機鹽,這是循環,就像這樣:循環hmac散列是否有用?
$salt = sha1(microtime().mt_rand());
for ($i=0; $i < 4000; $i++) {
$password = sha1($password.$salt);
}
(在我的例子,$password
和在db裏面存儲了$salt
)。
我最近發現了hash_hmac()
函數,它顯然比簡單的SHA1哈希函數更安全。我計劃以相同的模式使用它(鹽是祕密密鑰),但我想知道是否可以像我之前的例子那樣循環它。如果有人能夠給我一些見解,那將非常感激。