如何在Delphi中對SQLite數據庫使用加密,如果我使用的是SQLite ODBC Driver。
我必須使用ADO組件進行數據訪問。在Delphi中加密SQLite數據庫OLEDB
回答
正如我從ODBC驅動源,的2個選項之一見:
- 編譯ODBC驅動程序定義
WITH_SQLITE_DLLS
,所以它會使用sqlite3.dll。然後提供用SQLITE_HAS_CODEC
編譯的sqlite3.dll。 - 編譯ODBC驅動程序和SQLite引擎,並定義
SQLITE_HAS_CODEC
。然後將SQLite引擎靜態鏈接到ODBC驅動程序。
SQLITE_HAS_CODEC
表示SQLite引擎是使用內置編解碼器編譯的。默認情況下,SQLite沒有編解碼器。您可以使用SQLCipher而不是標準SQLite。或者用Encryption Extension獲取SQLite。
然後,要使用ODBC連接到加密的數據庫,您需要在連接字符串中指定PWD=xxx
。
+1相當不錯的分析和解釋。另一個包含加密的SQLite端口是[wxSQLite](http://sourceforge.net/projects/wxsqlite)。 – 2012-01-17 08:38:09
另外一個獲得SQLite加密的選項是使用3D派對庫。雖然TS說,但他不可能。 – 2012-01-17 10:54:37
@ da-soft一個非常好的答案。一切都被解釋了。謝謝! – artzub 2012-01-19 12:43:20
- 1. 加密SQLite數據庫中的密碼?
- 2. 在C#中加密SQLite數據庫
- 3. SQLite數據庫加密C#?
- 4. SQLite數據庫加密
- 5. 如何加密/解密SQLite數據庫中的數據?
- 6. 在Sqlite數據庫中加密和解密?
- 7. 無法在.NET4中加密/解密SQLite數據庫
- 8. Sqlite數據庫文件正在加密或不是數據庫
- 9. 替代SQLite數據庫加密
- 10. Sqlite數據庫備份和加密
- 11. 如何加密android sqlite數據庫?
- 12. 如何加密sqlite數據庫中的數據?
- 13. 如何在Android中打開加密的sqlite數據庫?
- 14. 在數據庫中加密密碼
- 15. 核心數據SQLite加密?
- 16. iphone sqlite加密數據
- 17. SQLCIPHER sqlite加密iphone ios將未加密的數據庫轉換爲加密數據庫
- 18. 在sqlite數據庫中加密登錄名和密碼 - C#中的SHA 256#
- 19. 添加到數據庫OLEDB C#
- 20. iPhone - 讀取密碼加密的SQLite數據庫
- 21. 使用java加密/解密sqlite數據庫
- 22. 我可以用密碼加密SQLite數據庫嗎?
- 23. 加密/解密SQLite數據庫並「動態地」使用它
- 24. 是否可以使用Javascript來加密/解密SQLite數據庫?
- 25. 加密通過核心數據訪問的Sqlite數據庫
- 26. 獲得從加密的SQLite數據庫的數據sqlite3.exe
- 27. SQLite數據庫中出現錯誤「文件已加密或不是數據庫」?
- 28. 在sqlite數據庫中添加圖像
- 29. 在Java中附加Sqlite數據庫
- 30. 無法附加加密的SQLite數據庫:「無法打開數據庫文件」
+1因爲我認爲這是一個很好的問題。 da-soft已經有一個很好的答案。爲什麼要關閉這個?恕我直言,它遠非模糊 - 相反,這是一個很好的。當然,答案將是通用的(德爾福方面沒有解決方案 - 但也許它可能是一個),但解決方案存在。 – 2012-01-17 08:43:42
爲什麼_必須使用ADO?我可以通過以下任何方式執行任何操作:https://github.com/stijnsanders/TSQLite – 2012-01-18 18:16:15
是的,我必須只使用ADO,因爲在項目中使用了其他ODBC驅動程序,例如Oracle的數據提供程序。 – artzub 2012-01-19 12:37:38