如果我有一个用于远程 SSL 身份验证的密码变量,存储在源代码中是否安全?
例如
NSString * password = @"password";
有更好的方法吗?
更新:抱歉造成混淆,我不存储用户密码,相反,我存储一个用于调用我们自己的后端、所有应用程序的密码将使用相同的密码。
最佳答案
我的新答案:
尽量不要使用静态密码访问后端,期间。如果您不想要的人确定了该密码,会发生什么情况。为什么不使用用户名和密码?
您还可以考虑使用公钥或嵌入式证书来仅允许您的应用访问后端服务器。
我原来的答案:
听起来您想了解钥匙串(keychain)。
这是一个讨论它的教程:
http://maniacdev.com/2011/07/tutorial-how-to-use-the-ios-keychain-to-store-names-and-passwords/
和here is a related question that talks about the security of Keychain under iOS .
您不应该让程序为所有用户存储静态密码,而应该让每个用户设置他/她的帐户和密码进行身份验证,然后存储钥匙串(keychain)里的东西。
关于iphone - 保护 Objective C 源代码中的敏感信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9631445/