2011-05-18 43 views
37

我正在寻找很难加密我的Android设备上的sqlite数据库的可能性,但我无法找到一个令人满意的解决方案。android的sqlite加密

我需要类似库文件的引用,以便在使用正常的sqlite函数时对数据库进行“即时”加密/解密。

我不想在存储之前加密数据。

我不想加密整个数据库文件,以便在使用前解密它。

我知道以下项目:

乙ut我找不到任何这个东西的工作示例。

顺便说一句,我绝对愿意购买商业版本,但我必须在花费数百美元之前测试ist。

有没有人为他自己解决这个问题?

编辑: 问题是由commonsWare解决,如果你按照他的链接: SQLCypher port to Android 您可以下载neccesary文件和必须将它们添加到您的项目。这可能如下所示: enter image description here

+0

没有充分的理由对数据库加密。如果有人想访问它,他总是可以对您的应用程序进行逆向工程以检索密钥。 – ThiefMaster 2011-05-18 11:37:10

+13

不,如果我强迫用户在启动应用程序时输入密码 – 2red13 2011-05-18 11:39:10

回答

41

尝试使用SQLCipher port to Android而不是常规SQLCipher。

+0

很酷,如果这个工程我会等待接受你的答案,以奖励你一个赏金^^ – 2red13 2011-05-18 12:18:51

+0

完美的作品,非常感谢! – 2red13 2011-05-18 14:00:20

+0

赏金开始,并且明天将支付给你^^ – 2red13 2011-05-20 12:34:41

0

litereplica支持encryption使用ChaCha密码,比便携式设备上的AES更快。

Android版本有bindings

要创建并打开我们使用URI这样一个加密的数据库:

"file:/path/to/file.db?cipher=...&key=..."