【发布时间】:2017-10-30 15:33:32
【问题描述】:
我一直在寻找一种在包含超过一百万个条目的预填充数据库上实现 SQLCipher 的方法。过去三个月是我完全投入到项目数据库中的时间,现在它已经完成,这导致我遇到了一个问题。
我知道我的应用程序的数据库会在一周左右被复制,复制数据库非常简单(只需使用 WinRAR 打开 apk)。而在印度,没有人关心版权,所以这将毫无用处。
基本上我想保护我的应用程序的数据库不被复制,记住应用程序应该离线工作(也就是说没有 PHP/SQL 服务器)。
我已经检查了 GitHub/Google,我发现只有 SQLCipher by Zetetic。 GitHub 上的相同内容 - Here。
此外,现在可以导入以下库:net.zetetic:android-database-sqlcipher:3.5.2@aar 并可以使用它来保护数据库,但它适用于应用程序创建的数据库,而不是预填充的数据库。 (库取自this SO 上的答案)。
->现在,对我来说,百万美元的问题是我是否可以通过密码保护或加密我的数据库而不将数据库放在任何服务器上?
附注-> 我想让我的应用离线运行,而且,我只是一名学生,至少目前还买不起 Zetetic 的付费服务。
编辑 - 我浏览了一些存储数据库的谷歌应用程序的代码以获得一些帮助,但它们只是使用压缩在 .gz 文件中的 .out 文件(可以使用 Word/Text 编辑器轻松打开)不是我应该使用的东西。
【问题讨论】:
-
这个问题与stackoverflow.com/questions/10399254/…类似。我的名字有什么问题需要修复?
-
哦...可能是因为它是从右到左书写系统的希伯来语
-
如果我执行 this 并将密钥存储在带有 proguard 的字符串中怎么办?有什么建议吗?
-
不过,正如@CommonsWare 所说,这毫无意义。每个拥有您的 apk 的人都可以通过一些努力对其进行反编译。
标签: android database sqlite encryption sqlcipher