在Cocoa/Objective C中保护xml plists

Run*_*oop 15 security encryption cocoa objective-c plist

我正在编写一个应用程序,它在启动时从包中的am xml plist读取信息.plist中的信息已通过多天的工作进行编译,我希望确保在分发后不能从另一方轻松地从应用程序包中提取它.有没有办法保护或加密包含在您的应用包中的xml plists?

任何帮助将不胜感激,请.

ZZ *_*der 16

plist中没有内置加密功能.许多人将压缩视为加密.

这是我要做的,

  1. 组成加密密钥.
  2. 编写一个小程序,用于将plist加密成二进制文件SecKeyEncrypt().
  3. 将二进制文件放在包中.
  4. 在应用程序中,隐藏密钥.例如,将它们存储为碎片,这样就不容易从转储中找到它们.
  5. 启动应用程序时,从bundle读取二进制文件,SecKeyDecrypt()使用密钥解密它并将明文存储在内存中.
  6. 明文是plist并从内存中加载plist.

这仍然被认为是混淆的,因为密钥在你的捆绑中可用但是它很难阻止大多数随意的黑客.

  • 至于加密部分,请查看这个SO问题的想法:http://stackoverflow.com/questions/1417893/encrypted-nsdata-to-nsstring-in-obj-c (2认同)