我看到了类似的问题,但它们不符合我的要求。
我有一个应用程序不时需要从 Web 服务进行更新。数据包含 url、description、title 等字段。从 200k 到 400k 条目。它在本地使用,并且经常在这些数据中进行搜索(取决于用户的活动)。
用户不应访问数据,并且搜索需要尽可能快。我知道没有办法让它 100% 不可读,一切都可以逆向工程和解密(我必须将加密密钥保存在手机上)。我的目标是让它尽可能地困难。
我有几个选择:1.加密服务器上的数据并将其作为二进制文件发送到手机。每次需要时解密它 2. 也将数据作为文件发送。读取它,存储到本地数据库 3. 将它作为 JSON(可能已加密)获取,存储到数据库或文件
使用 JSON 有一个优势,因为它更容易实现本地数据和远程数据之间差异的更新。
还有一个关于数据库的问题。每次我想查找某些东西时,我是否应该存储所有加密并解密的条目?它可能会影响手机的性能。
还有一个可能的保护层 - 使加密密钥动态化。每天一次从服务器获取密钥,重新加密存储的数据,第二天密钥更改。但是我认为这是一个开销。告诉我是否不是。
你会选择什么选项?有没有更好的解决方案?
PS数据库将每天更新。
谢谢