gpt4 book ai didi

android - 使用 SQLCipher 加密后无法压缩 Android SQLite 数据库

转载 作者:行者123 更新时间:2023-12-02 09:12:23 25 4
gpt4 key购买 nike

我随我的应用程序提供了一个只读数据库,将其包含在 Assets/Database 目录中。所有数据均已预先填充。

SQLCipher集成并加密数据库后,我注意到APK大小从25MB增加到150MB。原因是 SQLite 数据库文件不再被压缩。

Android Studio 通常会压缩资源,但在数据库文件加密后,压缩文件似乎没有效果。我尝试使用常规 Zip 和 7Zip 在外部进行测试,结果没有什么区别,压缩文件的大小与原始文件的大小相同。

未加密的数据库约为 130MB,压缩后仅需要 18MB,因为其中大部分是文本,字符串压缩得很好。压缩加密的数据库文件在大小上没有差异。

通过服务器填充不是一个可行的选择,因为由于记录数量的原因,它会花费很长时间。下一个选择是从服务器下载完全加密的数据库文件,但对于 140MB 的文件来说,速度仍然太慢。

需要找到一种方法来随应用程序传送加密数据库,同时仍将应用程序大小保持在合理的20-30MB

有什么想法吗?

谢谢。

最佳答案

压缩需要找到数据中的模式。加密消除了所有此类模式。

加密前需要先进行压缩。这对于 SQLCipher 来说是不可能的;您必须发送压缩和加密的 .sql 文件,然后在新的加密数据库上执行它。

关于android - 使用 SQLCipher 加密后无法压缩 Android SQLite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34757644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com