将非人类可读文件保存到磁盘的简单方法

时间:2010-07-11 06:48:39

标签: iphone

我的应用中有几个plist文件,我想要非人类可读或可编辑。 我们的想法是使用另一个应用程序对它们进行编码,然后将它们放入普通的iphone应用程序中,仅用于解码和处理。

我已经下了加密,因为第一,我不需要强加密的东西,第二,因为加密应用程序的应用商店程序。

任何人都可以建议我如何进行?什么是最简单的(在加密方面不是最好的)方法实现?

请协助!

2 个答案:

答案 0 :(得分:1)

iPhone应用程序是“沙盒”,意味着应用程序无法读取彼此的数据;每个应用程序都有自己的用户名和组,以及它拥有的自己的一组文件夹。应用程序无法访问其他iPhone应用程序的文件夹或数据。因此,要求并没有真正意义。您只需使用NSDictionary -writeToFile:atomicallyNSDictionary -initWithContentsOfFile向/从PLIST读取/写入数据。如果您需要添加加密(因为您担心有两个人共享iPhone,或类似的东西),那么我建议您在将各个条目放入字典之前对其进行加密。

修改
根据您在下面的评论,您似乎试图阻止人们盗用您的应用程序,而不是像问题所暗示的那样尝试保护用户数据。不幸的是,总是可以盗版应用程序。从混淆到使用证书到非对称加密,再到运行应用程序二进制文件的校验和,一切都可以绕过或失败。阻止盗版的最佳方法是快速迭代循环,并将大部分数据放在云中,经常更改和更新,因为这样做会降低应用程序盗版快照的价值。也就是说,将软件盗版视为开展业务的成本通常是个好主意。大多数用户不会盗用应用程序,并且由于保护您的应用程序的各种方法都可以(并且将会)被打败,因此实施此类操作的成本通常是不值得的。

答案 1 :(得分:0)

查看NSData的NSDataWritingOptions。二进制plist文件内置加密。我从来没有使用它,所以我不知道有没有开发人员的工具来打败它是多么容易。但它应该提供防止随意盗窃的保护。

但是,如果您担心其他开发者窃取您的内容,您的最佳保护将受到版权保护。版权保护内容,这就是它的用途。确保在实际plist中包含版权作为数据的一部分。在每个资源文件中保留版权,例如图片。