php - 为什么我们应该更改 CakePHP 中的 Security Salt 值?

标签 php cakephp

在安装 cakephp 时出现以下错误:

请将 app/config/core.php 中“Security.salt”的值更改为您的应用程序特定的盐值

我知道解决方案,它对我来说工作得很好。

但是为了满足我的渴望,我想知道我们为什么要改变CakePHP中的Security Salt值?如果我们不更改值会怎样?

最佳答案

加密“盐”的想法是,在两个地方加密的相同密码(或其他 secret 值)不会以相同的加密值结束。这使得生成包含大量可能密码的散列值的“字典”变得更加困难,并且很难根据被盗的密码散列值列表快速检查它以恢复密码。

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

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

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

关于php - 为什么我们应该更改 CakePHP 中的 Security Salt 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19063239/

相关文章:

PHP:在 1 个 PHP 页面中包含所有重要代码,或者仅在需要它的页面上包含它

php - 返回上次状态的 ajax 页面?

php - 你如何制作字符串 "XML safe"?

php - 如何在 yii2 中显示相关表中的数据?

php - Composer laravel 创建项目

CakePHP 1.2.6 登录重定向到 SSL 但需要重新登录

cakephp - 在 cakephp 下拉菜单中添加默认选项 "Please Select"

javascript - 如何在下拉菜单 <select> 上自动选择数据库的结果?

CakePHP GROUP 和 COUNT 个项目在列表中返回

php - 安全登录