php - 在 PHP 中使用 AES 加密时,应该在哪里存储 key ?

标签 php cakephp mcrypt aes

我正在我的网络应用程序中实现 AES-256 位加密:

http://www.utoxin.name/2009/07/automatic-db-field-encryption-in-cakephp/

其中一个步骤表示将使用的密码和 key 存储在 boostrap 文件中。但是,是什么阻止某人使用 PS 或其他东西扫描文件系统并解密数据呢?

保护数据的最佳方法是什么?

最佳答案

如果有人可以访问您服务器硬盘上的所有文件,那么一切都将失败。那么您就无法保护您的数据,因为您的网络应用程序仍然必须能够访问它。

这种加密只能保护您免受可以访问数据库的攻击者的侵害,但不能保护文件系统的攻击者,例如通过SQL注入(inject)。即使在这种情况下,他们也可能能够读取数据:根据特定的泄漏情况,网络应用程序可能会很乐意为他们解密!

关于php - 在 PHP 中使用 AES 加密时,应该在哪里存储 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2210011/

相关文章:

javascript - 为什么 "$.ajax({"会刷新?

php POST表单查询更新动态变量

php - iOS JSON 错误 : NSDebugDescription=Garbage at end

php - 第 216 行的 fatal error : Call to a member function close() on a non-object in webroot_path/cakeapp/lib/Cake/Cache/Engine/RedisEngine. php

cakephp 如何获取查询中的计数

php - 使用 PHP 加密和解密密码的最佳方法?

php - PHP 的 mcrypt_decrypt() 需要什么?

php - Laravel 5.6 - 注册表不工作且未显示任何错误

php - 为什么 kohana 3 Encrypt 类 encode() 方法每次都返回不同的字符串?

php - CakePHP 在不破坏 Cake 自动化的情况下自行加入 HABTM 表