0

在我的应用程序中,我可以使用此代码将读取好的 1 密码存储在钥匙串中

// save password
[keychainItem setObject:textFieldPassword.text forKey:(__bridge id)(kSecValueData)];

//get pasword from keychain
NSString *_password = [keychainItem objectForKey:(__bridge id)(kSecValueData)];

我的问题是:如何在钥匙串中一次存储多个密码?

4

2 回答 2

2

钥匙串编程很难。我使用了一个名为 SFHFKeychainUtils 的包装类。它具有用于存储和检索密码的非常简单的类方法。

看看:https ://github.com/ldandersen/scifihifi-iphone/tree/master/security

您使用自己制作的钥匙存储物品。所以你可以有@"WiFiPasswordKey"、@"LoginPasswordKey"等。

于 2012-09-07T20:22:50.737 回答
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)];
于 2012-09-08T17:41:17.807 回答