【问题标题】:Encrypting SQLite database in Delphi OLEDB在 Delphi OLEDB 中加密 SQLite 数据库
【发布时间】:2012-01-17 05:43:46
【问题描述】:

如果我使用SQLite ODBC Driver,如何在 Delphi 中对 SQLite DB 使用加密。
我必须使用 ADO 组件进行数据访问。

【问题讨论】:

  • +1 因为我认为这是一个好问题。 da-soft 已经有一个很好的答案。为什么要关闭这个?恕我直言,这远非含糊不清-相反,这是一个很好的选择。当然,答案将是通用的(德尔福方面没有解决方案 - 但也许它可能是一个),但解决方案是存在的。
  • 为什么必须使用ADO?我可以用这些做任何我想做的事情:github.com/stijnsanders/TSQLite
  • 是的,我必须只使用 ADO,因为在项目中使用了其他 ODBC 驱动程序,例如 Oracle 的数据提供程序。

标签: delphi sqlite encryption odbc ado


【解决方案1】:

正如我从 ODBC 驱动程序源中看到的,两个选项之一:

  1. 编译带有 WITH_SQLITE_DLLS 定义的 ODBC 驱动程序,因此它将使用 sqlite3.dll。然后提供用SQLITE_HAS_CODEC编译的sqlite3.dll。
  2. 编译 ODBC 驱动程序和 SQLite 引擎并定义 SQLITE_HAS_CODEC。然后将 SQLite 引擎与 ODBC 驱动程序静态链接。

SQLITE_HAS_CODEC 表示,SQLite 引擎是使用内置编解码器编译的。默认情况下 SQLite 没有编解码器。您可以使用 SQLCipher 代替标准 SQLite。或者通过Encryption Extension获取SQLite。

然后要使用 ODBC 连接到加密数据库,您需要在连接字符串中指定 PWD=xxx

【讨论】:

  • +1 很好的分析和解释。另一个包含加密的 SQLite 端口是 wxSQLite
  • 另外一个获得带有加密的 SQLite 的选项是使用 3d 方库。虽然TS说了,但对他来说是不可能的。
猜你喜欢
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
相关资源
最近更新 更多