SQLite - 创建加密数据库.......怎么样?

Fra*_*isc 5 database apache-flex sqlite encryption

如何创建实际保持加密的加密SQLite数据库或之后可以打开的加密SQLite数据库.

我使用了"可以"创建加密数据库的SQLite2009 Pro企业管理器,但在输入加密密钥后,它们不再可打开.

我使用SQLabs中的SQLiteManager来创建一个加密数据库,虽然之后可以打开这个数据库,但这可以通过任何SQLite管理工具或代码完成,而无需我输入的密钥.

那么,你怎么能创建一个加密的SQLite数据库呢?

我计划在Adobe Flex应用程序中使用该数据库.

谢谢.

Sam*_*eff 5

SQLite支持集成加密,但默认的开源SQLite发行版不支持加密.如果SQLite的加密版本都使用相同的加密扩展,则它们只能在不同的客户端或工具之间移植.

SQLite开发人员自己分发了一个支持加密透明的SQLite商业版本.当此模块用于加密时,加密可以跨平台工作,并且写入文件的每个字节都是加密的.加密的SQLite文件中没有任何内容存储在磁盘上,甚至表明它是一个SQLite数据库.许多工具支持此实现,允许您放入商业sqlite.dll文件来代替开源源文件.

还有第三方扩展支持加密.例如,System.Data.SQLite支持加密,但利用.NET库这样做,因此加密的System.Data.SQLite只能由另一个也使用System.Data.SQLite的客户端读取(这是故意的,不属于尊重SQLite核心开发人员及其商业产品).

Adobe AIR 1.5支持加密.我不确定使用了哪种机制,我搜索过但找不到答案.AIR加密数据库可能只能使用AIR读取.我不知道两种方式.但是,以下是学习使用加密数据库的一个很好的起点是AIR:

http://probertson.com/articles/2008/11/18/air-1_5-encrypted-sqlite-database-how-to/