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,以確保傳輸的任何數據都已加密。然後,您不必擔心編寫自己的加密和可能的代碼泄漏。 –