1

使用 Blowfish,既然我们可以从哈希中提取盐,那么存储盐有什么意义呢?

$hash = crypt($password, $salt);

要获取我们可以使用的哈希值

substr($hash, 0, 28)

或者

substr($hash, 0, 29)

我不知道这个点是来自盐还是散列密码。

4

1 回答 1

0

盐值用于使“彩虹表”攻击更难。如果没有随机盐,密码总是会产生相同的哈希值,如果您可以“获取”一个充满这些哈希值的密码数据库,您可以轻松地检查它们的已知哈希值,例如前 100 个最常用密码的哈希值。使用盐,您当然也可以尝试这些,但是您必须为每种盐调用散列函数,这需要大量时间,因为散列函数被设计为“缓慢”以使蛮力攻击变得困难。

于 2013-07-21T22:17:09.787 回答