如何保护存储在iPhone应用程序中的外部Web服务密码?

时间:2012-01-02 05:54:02

标签: iphone objective-c ios

我担心网络上的外部服务的密码我现在在我的iPhone应用程序中作为明文字符串保存。问题是如果黑客购买应用程序并将其下载到越狱手机中。他可以检查二进制代码以提取密码字符串并造成破坏。

我确定这是一个常见的问题并且有一个共同的解决方案,但我在精神上阻止了如何保护字符串。如果我利用某种形式的加密技术,那么我是否会因为加密的国际法披露而打开一堆蠕虫?无论如何,因为解密将在应用程序内以编程方式完成,以便使用密码,可以进行逆向工程。

这里推荐的路线是什么? THX。

2 个答案:

答案 0 :(得分:1)

一旦陈述,答案就很明确了。但这不是一条漫长的思路。应用程序需要Web服务密码才能从网络中检索任何内容。即使它被放入钥匙串,它也会在应用程序包中以明文形式出现,为首次运行之前寻找密码的求助者做好准备。

答案是加密桌面上的Web服务凭据并将加密的字符串放入应用程序,然后可以在需要使用时对其进行解密。这使得它无法在运行应用程序之前被越狱手机作为明文检查。

答案 1 :(得分:0)

将密码保存在Keychain(为您链接的文档)中。

永远不会出现在NSUserDefaults中(其中一切都是清除文本的最佳选择)。

Here is a tutorial with some useful info您可以从中获取更多信息。