是否可以从现有的内存块创建内存中的SQLite数据库?

时间:2011-03-01 13:12:31

标签: android sqlite encryption

从文档中看起来这是不可能的,但我想确定。这是我的用例:

我想要一个加密的数据库。它只应在内存中解密(程序运行时)。我能看到这样做的唯一方法是在将文件交给SQLite之前从磁盘解密文件。但我找不到任何方法给SQLite一个指针并说:“这里,这是一个数据库。”我也找不到一种方法来序列化内存数据库,然后在写入磁盘之前对其进行加密。我假设sqlite3_backup API需要一个未加密的数据库文件?

我在Android上运行,所以我想使用内置的SQLite,我认为不可能安装SQLite Encryption Extension (SEE)。 (在Android上运行也意味着我没有对C ++ API的完全访问权限,但我们现在可以忽略它。)

1 个答案:

答案 0 :(得分:1)

由于您可以使用sqlite_vfs_register方法替换sqlite用于与应用程序中的文件系统交互的函数,因此应该可以。我没有加密扩展的经验,但它也有可能使用这个接口,因此甚至可以使用它。