我需要在数据库中存储的密码,我用来存放腌密码的SHA1哈希旁边一个随机盐,这是循环,就像这样:循环hmac散列是否有用?
$salt = sha1(microtime().mt_rand());
for ($i=0; $i < 4000; $i++) {
$password = sha1($password.$salt);
}
(在我的例子,$password
和在db里面存储了$salt
)。
我最近发现了hash_hmac()
函数,它显然比简单的SHA1哈希函数更安全。我计划以相同的模式使用它(盐是秘密密钥),但我想知道是否可以像我之前的例子那样循环它。如果有人能够给我一些见解,那将非常感激。