iOS:存储非用户密码

时间:2014-08-11 05:36:15

标签: ios objective-c encryption passwords

我需要在我的iOS应用程序中存储第三方用户名/密码,最好和最安全的方法是什么?当我的应用程序首次运行时,它需要与Google的Picasa通信才能下载用于该应用的私有图片。要与Picasa交谈,我必须提供我的用户名/密码,并且在代码中存储根本不安全。

我在网上搜索,我看到Keychain出现了很多,但我究竟如何将我的密码预先加载到keychain

xCode中是否存在用于存储Web服务所需密码的配置文件?

由于

2 个答案:

答案 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

相关问题