我需要将密码存储在数据库中,并且我曾经将加盐密码的 sha1 哈希与随机盐一起存储,该随机盐是循环的,如下所示:
$salt = sha1(microtime().mt_rand());
for ($i=0; $i < 4000; $i++) {
$password = sha1($password.$salt);
}
(在我的示例中,$password
并$salt
存储在数据库中)。
我最近发现了这个hash_hmac()
函数,它显然是一个比简单的 SHA1 哈希更安全的函数。我计划以相同的模式使用它(盐是密钥),但我想知道它是否值得像我之前的示例中那样循环它。如果有人能给我一些见解,那将不胜感激。