在iPhone上混淆/加密表单数据的最佳方式

时间:2010-05-08 12:11:10

标签: iphone objective-c encryption

我想创建一个包含敏感信息的应用程序(想象一下它的银行帐户详细信息,认为不是)。用户在第一次启动时在表单上输入此信息。我希望在用户使用应用程序时(无需输入密码)保存并可用此信息。但是,如果iPhone上有密码锁并且被盗,我不希望从文件系统轻松访问数据。

加密或混淆数据的最佳方法是什么?没有很多数据,只有来自表单上UITextFields的十几个NSStrings。

我知道iPhone上的加密出口限制对于非美国开发者(我在英国),所以我宁愿避免跳过任何Apple的应用程序提交箍来获得它。< / p>

2 个答案:

答案 0 :(得分:4)

为什么不使用内置的Keychain Services?这就是它的用途。

编辑: SDKDevFAQ.com上有一篇关于Keychain Services的文章指向github上的tutorialsample code。另外,请查看有关使用钥匙串的this blog entry

答案 1 :(得分:0)

我不知道越狱的iPhone设备是否允许您从其他应用程序读取NSUserDefaults。如果没有,您可以将信息存储在那里而不是文件中。

或者,您可以根据(但不等于)设备ID生成一些salt,并简单地将其与字符串的字节进行异或。只要您生成盐的算法不是很简单且字符串不太长,数据就会相当安全。没有进入更重的加密东西,你不能保证比“相当安全”更多。