2
A
回答
11
加密整个数据库是一个很大的麻烦,除非该数据库提供了“透明加密”,Oracle数据库提供了这样的事情。使用透明加密的轻量级开源解决方案是SQLite。使用此功能,加密不直接应用于数据,但存储本身已加密。这意味着您可以像平常一样处理数据库,并增加物理存储的加密优势。但不幸的是,MySQL不提供这样的事情。
首先,为什么加密你的数据库不是一个好主意。加密数据看起来像随机垃圾到您的数据库。这意味着很多负面的东西,如
- 的SELECT不再对您的数据,因此它们以前那样,途中如果在所有(需要大量的努力)
- 索引变得几乎无用
- 数据库日志形同虚设
- ...
如果您加密使用MySQL的内置encryption support那么这意味着数据本身以纯文本格式的数据库发送 - 除非你使用TLS-SECUR这意味着窃听者根本不关心你的加密。
所以如果你需要加密数据,你应该保持在最低限度,只加密数据中真正敏感的部分,以便仍然能够执行高效的查询。如果应用程序和数据库之间不存在安全的TLS连接,则还应该直接在应用程序中加密数据。
0
如果您需要在数据库中加密一组客户的信用卡号码(或社会安全号码,税务文件号码或需要保密的其他字段),请执行以下操作,其次是一些更好的方法:
相关问题
- 1. 加密/解密数据到数据库
- 2. 数据库加密和数据库解密使用C#代码
- 3. 用密钥加密和解密数据
- 4. 如何加密/解密SQLite数据库中的数据?
- 5. 加密/解密数据流?
- 6. 解密数据从数据库表加密的CryptProtectData在VB.net
- 7. AES加密和解密数据
- 8. mysql:加密和解密数据
- 9. 有效加密/解密数据列表
- 10. 加密/解密数据是数据库第一实体框架
- 11. 数据库加密
- 12. 获取所有redis数据库中的所有密钥和值?
- 13. SSLEngine不解密所有的数据
- 14. 加密和解密谷歌Firebase实时数据库条目
- 15. 如何使用数据库主密钥(DMK)加密/解密数据?
- 16. 解密AES128加密的数据
- 17. 解密Firefox密码数据库
- 18. 加密的加密数据
- 19. 加密数据库上的密码
- 20. 解密数据库模式
- 21. 加密的SQL数据库?
- 22. 如何在数据块中加密/解密数据?
- 23. 解密加密DUKPT跟踪数据
- 24. 解密加密数据时出错
- 25. 使用解密密钥解密数据
- 26. 使用FileInputStream/Cipher在Android中加密/解密数据库文件
- 27. 无法在.NET4中加密/解密SQLite数据库
- 28. 加密或部分加密核心数据数据库?
- 29. 保存在cakephp中之前的加密和解密数据
- 30. Prestashop - 如何加密数据库密码?
它是否必须在PHP?你也可以使用mysql。查看[本页](http://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_aes-decrypt) –
使用MySQL加密函数对MySQL中的数据进行加密是一种危险的缺陷方法,因为数据库连接默认情况下不是**加密的,并且SQL语句(包括加密密钥!)可以保存在各种MySQL日志文件中。 – duskwuff
你想保护什么?您可能会更好地对MySQL使用的文件系统进行加密,然后为您创建的任何用户强制使用SSL,以确保传输的任何数据都已加密。然后,您不必担心编写自己的加密和可能的代码泄漏。 –