在关于散列和加盐密码的教程中,我看到使用 for 循环多次执行散列+盐。
$salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647));
$password = hash('sha256', $_POST['password'] . $salt);
for($round = 0; $round < 65536; $round++)
{
$password = hash('sha256', $password . $salt);
}
使用这种方法有什么好处?它对例如蛮力方法更安全吗?另外:我应该考虑除 sha256 之外的另一种散列算法吗?我知道没有明确的答案,因为它可能取决于许多因素,例如安全程度、速度等。但是对于一个相当简单的网站有什么建议吗?