在我的应用程序中,我可以使用此代码
在钥匙串中保存读取精美的1密码存储区// save password
[keychainItem setObject:textFieldPassword.text forKey:(__bridge id)(kSecValueData)];
//get pasword from keychain
NSString *_password = [keychainItem objectForKey:(__bridge id)(kSecValueData)];
我的问题是:如何在钥匙串中一次存储多于1个密码?
答案 0 :(得分:2)
钥匙串编程很难。我使用一个名为SFHFKeychainUtils的包装类。它有非常简单的类方法来存储和检索密码。
检查出来:https://github.com/ldandersen/scifihifi-iphone/tree/master/security
使用您组成的键存储项目。所以你可以拥有@“WiFiPasswordKey”,@“LoginPasswordKey”等。
答案 1 :(得分:0)
谢谢大家的回答。
这是我使用的解决方案:
向我的项目添加文件KeychainItemWrapper.h / m
分配2个钥匙串项目:
//aloc for user password
keychainItem = [[KeychainItemWrapper alloc] initWithIdentifier:@"passowrdKey1" accessGroup:nil];
//aloc for user password2
keychainItem2 = [[KeychainItemWrapper alloc] initWithIdentifier:@"passowrdKey1" accessGroup:nil];
然后只需使用它来读/写
//WRITE
// save password
[keychainItem setObject:@"password1" forKey:(__bridge id)(kSecValueData)];
// save password2
[keychainItem2 setObject:@"password2" forKey:(__bridge id)(kSecValueData)];
//READ
//get pasword from keychain
NSString *_pass = [keychainItem objectForKey:(__bridge id)(kSecValueData)];
//get pasword from keychain
NSString *_pass2 = [keychainItem2 objectForKey:(__bridge id)(kSecValueData)];