我正在寻找一种混淆我在应用程序中存储的图像的方法,目前正在考虑使用Base46编码。
我需要一些开销最小的东西,或者如果可能的话,性能会提升文件系统上的标准文件。
有人可以评论base64编码图像(png)和随后在目标平台上使用(解码?)的可行性吗?
感谢。
答案 0 :(得分:2)
你想要防范什么样的攻击? Base64相当容易识别和在空间方面具有潜在的重大影响(每个图像将占用额外33%的空间)。
某些转变XOR将更难从数据中发现,但它不足以保护真正重要的资产。
答案 1 :(得分:0)
我相信你明白Base64不会欺骗任何真正想要你的Bitmap的人。
Jon Skeet是对的,Base64非常适合以可读格式编码二进制数据,但在这里并没有真正帮助你。对你的密码的XOR会更快,并且不会增加任何大小的开销。
如果您真的想混淆您的位图,我建议您将它们存储在“ raw ”ressources文件夹中。通过这样做,您将能够保持处理不同形状因子(ldpi,hdpi,...)的漂亮的Android抽象。
扩展ImageView
类以直接使用R.raw.filename
id并在那里执行读取文件/解码流/创建位图。通过这样做,您将能够在需要时轻松回滚到标准的处理方式。
答案 2 :(得分:0)
警告您在Android中的应用程序内存中存储多个位图时可能会遇到内存问题。在处理android中的位图时,OutOfMemoryErrors似乎是一个反复出现的问题。以下是一个示例:outofmemoryerror-bitmap-size-exceeds-vm-budget-android