Iphone 保护目标C源代码中的敏感信息

Iphone 保护目标C源代码中的敏感信息,iphone,objective-c,ios,xcode,ipad,Iphone,Objective C,Ios,Xcode,Ipad,如果我有一个用于远程SSL身份验证的密码变量,那么存储在源代码中是否安全 e、 g 有更好的办法吗 更新:很抱歉造成混淆,我不是存储用户密码,而是存储一个用于呼叫我们自己后端的密码,所有应用程序都将使用相同的密码。我的新答案: 尽量不要使用静态密码访问后端,句号。如果你不想要的人决定了密码是什么,会发生什么。为什么不使用用户名和密码 您还可以考虑使用公钥或嵌入证书来仅允许应用程序访问后端服务器。 我的原始答案: 听起来你想了解钥匙链 下面是一个关于它的教程: 和 您不应该让程序为所有用户存储静

如果我有一个用于远程SSL身份验证的密码变量,那么存储在源代码中是否安全

e、 g

有更好的办法吗

更新:很抱歉造成混淆,我不是存储用户密码,而是存储一个用于呼叫我们自己后端的密码,所有应用程序都将使用相同的密码。

我的新答案:

尽量不要使用静态密码访问后端,句号。如果你不想要的人决定了密码是什么,会发生什么。为什么不使用用户名和密码

您还可以考虑使用公钥或嵌入证书来仅允许应用程序访问后端服务器。

我的原始答案:

听起来你想了解钥匙链

下面是一个关于它的教程:

您不应该让程序为所有用户存储静态密码,而是让每个用户设置自己的帐户和密码进行身份验证,然后将这些内容存储在密钥链中。

构建你的应用程序。转到终端并键入
strings
,然后将可执行文件拖到终端并按return。。。您将看到明文形式的密码:)


您应该存储其散列。

应用程序中包含的任何文本都很容易提取。没有真正的解决方法-使用
strings
工具,任何人都可以看到静态嵌入到应用程序中的任何和所有文本内容。然而,有一些方法可以解决这个问题——特别是,如果你将你的字符串分割成几个静态字符串,并按正确的顺序连接,那么对你的应用程序中包含的密码进行反向工程就会困难得多


我建议大家看一看类似的问题(),特别是我对这个问题的回答,以便更深入地解释我的意思。(Nimrod对这个问题的评论也很有趣。)

我已经更新了我的问题,我没有存储用户密码,而是存储了一个用于呼叫我们后端的密码,用户不知道。如果您最初的问题一开始就更清楚一点就好了。我已经修改了我的答案。谢谢!但即使使用公钥,用户是否容易检测到,我只是在想是否有更好的方法将其隐藏在代码中的某个位置。我不需要有一个完美的方法来做这件事,只是比存储为字符串更好。@Howard:我也遇到了同样的问题。你有没有找到任何方法将字符串隐藏在你的代码中?我已经将可执行文件拖到
strings
终端,但它一直在加载,什么都看不见。。
NSString * password =  @"password";