我建议通过混淆阅读一些关于安全性的文章,这本质上是你想要实现的(至少所有建议都是这么说的)并且最终是不安全的。
但是,iOS 的沙盒是您的第一个也是最有效的安全形式。
其次,输入验证将是您的应用程序需要的下一个最重要的安全功能。如果您不验证所有输入(从用户输入的信息到网络响应到通过方案启动的应用程序),那么全面加密就没有任何意义。
最后,在必要的情况下,安全加密只有在您不进行硬核(或混淆您的硬编码)时才是安全的。mprivat 是正确的,您需要使用用户生成的数据(登录)、公钥加密(因此只有未包含的私钥可以解密)或使用 SSL 进行传输的服务器端加密。
我还要说,如果您的安全数据仅在您使用钥匙串 API 的设备上维护,特别是确保您使用要求用户登录以进行项目检索的表单。
如果您在设备上加密的数据在设备和另一台设备(如服务器)上都被解密,那么您就有一个基本的架构缺陷。加密解密只能是客户端-客户端(也就是用户的设备)或客户端-服务器(可以是用户设备到服务器或服务器到用户设备),这一点非常重要。将两者混合会导致漏洞。我在这里特别指的是相同的加密机制,对客户端-客户端与客户端-服务器使用单独的加密很好(有时是必要的)。
对于那些需要编写安全代码的人来说,这是必读的:http: //www.amazon.com/gp/aw/d/0735617228