PHP 5.5 的散列函数是否增加了盐的安全性

Does a salt increase security with PHP 5.5's hashing function

我知道 PHP 5.5 的新哈希函数不必使用用户指定的盐,但它会提高安全性吗?我一直在做一些阅读,据我了解,散列函数每次都使用随机盐,它可以在验证散列时从散列值中检索它。但是,自己生成盐并使用它们有什么好处吗?有什么坏处吗?

看来你对这里有一些误解。

hash一旦生成,整个思路就是完全是一种方式。这意味着,从安全哈希算法的消息摘要中,无法知道盐是什么。例如,我见过人们将盐储存在另一列中。

Salts 旨在在您的消息摘要集中创建熵。并使用 Rainbow tables 来防止攻击。 salt 为消息摘要添加了一个随机元素,超出了算法和原始值的范围。

试图变得聪明并使用您自己的散列的不利之处在于,您会意识到您可能不如编写可供您使用的 API 的安全专家那么聪明。说真的,当涉及到安全时,你不能利用它来对抗你的思想。人脑容易出错;这就是我们团队合作的原因。专家团队为您制作了随机哈希生成器。认真地使用它们。

I know that PHP 5.5's new hashing function doesn't have to use a user-specified salt, but would it increase security?

假设您在谈论 password_hash,那么不会。它具有您需要的所有内置盐,添加更多盐没有任何优势。

也没有什么坏处,只是代码越多 = 越复杂 = 出现错误的可能性越大。