Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
使用 Blowfish,既然我们可以从哈希中提取盐,那么存储盐有什么意义呢?
$hash = crypt($password, $salt);
要获取我们可以使用的哈希值
substr($hash, 0, 28)
或者
substr($hash, 0, 29)
我不知道这个点是来自盐还是散列密码。
盐值用于使“彩虹表”攻击更难。如果没有随机盐,密码总是会产生相同的哈希值,如果您可以“获取”一个充满这些哈希值的密码数据库,您可以轻松地检查它们的已知哈希值,例如前 100 个最常用密码的哈希值。使用盐,您当然也可以尝试这些,但是您必须为每种盐调用散列函数,这需要大量时间,因为散列函数被设计为“缓慢”以使蛮力攻击变得困难。