如何加密 iOS 应用程序包中的文件以防止数据被复制?

How can I encrypt file in the iOS app's bundle to prevent data from copy?

如何加密 iOS 应用程序包中的文件以防止数据被复制?我可以通过简单的规则向 encode/decode 建议。但是在每次应用程序启动时都需要花费太多时间进行编码,而且不够安全。

P.S。我们不应该造成出口限制。所以加密算法肯定不强。

应用程序无法更改 App Bundle,因此该选项不可用。

如果它是在构建时包含的内容,您可以在构建应用程序之前对其进行加密,并在需要时在应用程序中对其进行解码。

问题是加密密钥必须以某种方式提供给应用程序。仅在应用程序代码中包含密钥并不安全,但可能会满足您的需求。通过身份验证从网站提供密钥可能会满足您的需要。

您需要评估您需要的安全级别、您正在保护的对象以及他们愿意花费多少 effort/money 来获取您的数据。

注意:使用 Common Crypto 加密的速度非常。在 iPhone6 上,我将速度基准测试为 10.8 毫秒或 92MB/秒内的 1MB。

如果数据不是太敏感,就使用双重编码。例如,utf8 + base64 带有多个字符替换以隐藏它是 base64。