我们为什么要更改CakePHP中的安全盐值?

时间:2013-09-28 04:24:22

标签: php cakephp

安装cakephp时,我得到了下面提到的错误:

请将app / config / core.php中'Security.salt'的值更改为特定于您的应用的salt值

我知道解决方案,它对我来说非常好。

但为了满足我的渴望,我想知道我们为什么要更改CakePHP中的安全盐值?如果我们不改变价值该怎么办?

1 个答案:

答案 0 :(得分:8)

加密“盐”的想法是在两个地方加密的相同密码(或其他秘密值)不会以相同的加密值结束。这使得生成包含许多可能密码的哈希的“字典”变得更加困难,并且可以快速检查密码哈希的被盗密码以恢复密码。

严格地说,应该为每个值生成一个salt,并使用该值存储 - 因此字典或“暴力”攻击可能会成功恢复该单个密码,但对系统中的其他密码没有任何好处

但是,通过使一个应用程序生成的哈希值与另一个应用程序生成的哈希值不匹配,应用程序范围的盐也可以提供一些好处。也有可能有人可以窃取加密数据(例如用户的数据库表)而无法访问此应用程序级别的盐,从而使蛮力攻击变得更加棘手。

如果安装CakePHP的每个人使用相同的盐,这些好处将完全丧失,因为任何人都可以下载源代码并找到默认的盐。