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