我们有一个使用sqlite数据库的android应用程序,我们会将很多图像保存到文件中,然后用户可以从android客户端下载db文件并从我们的应用程序中读取图像,我们想要将文件加密到防止攻击者直接获取图像。
首先,我们尝试在插入数据库之前对每个映像进行gzip和加密,然后在读取期间对它们进行解密。但是我们担心这可能会导致性能问题。
然后我发现了这个:
https://guardianproject.info/code/sqlcipher/
似乎sqlcipher使用密码加密文件,然后我们的应用程序必须在客户端通过密码读取它,然后如果有人解编译我们的apk,他仍然可以获取我们的密码(事件此密码是通过源文件从服务器检索。
这可能吗?或者我错过了什么?