我需要在我的iOS应用程序中存储第三方用户名/密码,最好和最安全的方法是什么?当我的应用程序首次运行时,它需要与Google的Picasa通信才能下载用于该应用的私有图片。要与Picasa交谈,我必须提供我的用户名/密码,并且在代码中存储根本不安全。
我在网上搜索,我看到Keychain
出现了很多,但我究竟如何将我的密码预先加载到keychain
?
xCode中是否存在用于存储Web服务所需密码的配置文件?
由于
答案 0 :(得分:1)
认为您需要以加密形式存储密码。选择一些加密算法,生成加密的细节。并且在代码中有一些方法可以在需要时解密它。
您只是不希望有人将您的代码读作纯文本以查看密码。
认为像将密码拆分成单独的字符串一样简单,以后加入它们就足够了。
例如,您已在代码中加密了#34; My1Password":
#define R1 @"My"
#define R2 @"Password"
+ (NSString *)generatePass{ return [NSString stringWithFormat:@"%@%@%@, R1, @(1), R2]; }
答案 1 :(得分:0)
这是对上面krzysztof的回应:
我在这里陷入困境22,因为我似乎无法掌握将密码作为参数提供给另一个函数的概念。除了避免其他人以纯文本方式阅读源代码外,黑客无法获取二进制文件和逆向工程来读取源代码中的密码(在本例中为R1& R2)???
回到加密,让我们采取以下加密/解密数据的代码:
NSData *encryptedImage = [RNEncryptor encryptData:imageData withSettings:kRNCryptorAES256Settings password:@"A_SECRET_PASSWORD" error:nil];
NSData *decryptedData = [RNDecryptor decryptData:data withSettings:kRNCryptorAES256Settings password:@"A_SECRET_PASSWORD" error:nil];
这就是我被困住的地方......我在哪里存储A_SECRET_PASSWORD
?