在 Cocoa / Objective C 中保护 xml plist 的安全
-
13-09-2019 - |
题
我正在编写一个应用程序,该应用程序在启动时从捆绑包中的 xml plist 中读取信息。plist 中的信息是经过多天的工作编译而成的,我想确保在分发后另一方不能轻易地从应用程序包中提取它。有没有一种方法可以保护或加密应用程序包中包含的 xml plist?
如有任何帮助,我们将不胜感激。
解决方案
plist中没有内置的加密函数。许多人将压缩视为加密。
这就是我要做的,
- 组成一个加密密钥。
- 编写一个小程序,使用以下命令将 plist 加密为二进制文件
SecKeyEncrypt()
. - 将二进制文件放入包中。
- 在应用程序中,将密钥隐藏在某处。例如,将它们存储为碎片,这样就不容易从转储中找到。
- 当您启动应用程序时,从捆绑中读取二进制文件,使用
SecKeyDecrypt()
使用密钥并将明文存储在内存中。 - 明文是plist,从内存中加载plist。
这仍然被认为是混淆的,因为密钥在你的捆绑包中可用,但它足以阻止大多数休闲黑客。
不隶属于 StackOverflow