我正在创建一个拥有450 MB 的大型数据库文件的应用。我将它存储在SD卡中。我想保护它,因为它有一些敏感数据。如果有人能告诉我最好的方法,它将解决我的问题。
我也尝试了一个示例,但它适用于小型DB文件。如果我使用的是450 MB Db,则无法使用,而且需要很长时间。
还请告诉我是否有可能获得如此大的数据。
答案 0 :(得分:4)
有点但不是真的。您可以加密它,并从服务器获取解密密钥。没有其他方法可以保护它,因为用户总是可以将SD卡弹出到SD卡读卡器中。如果解密密钥是本地的,他们可以反编译您的应用程序。
这是问题 - SQLite无法使用加密文件。因此,您必须将其解密到磁盘,并且可以在此时抓取它。所以不,它根本不可能保护数据库文件。如果您想保密数据,最好将信息保存在服务器上并通过webservice查询。
答案 1 :(得分:3)
SQLCipher是一个SQLite扩展,为数据库文件提供透明的256位AES加密。
早期的sqlcipher是针对SQLite的开源全数据库加密,不适用于Android。但现在它可用作Android平台的alpha版本。开发人员更新了标准的android应用程序'Notepadbot'以使用SQLCipher。
所以这绝对是目前最好,最简单的选择。