使用Keychain存储用户敏感信息
使用Keychain存储用户敏感信息
SFHFKeychainUtils
SFHFKeychainUtils是另一个封装了KeyChain简单操作的第三方类库,使用上比KeychainItemWrapper要简单点,SFHFKeychainUtils只提供了获取、保存和删除三个方法:
- #import
-
- @interface
SFHFKeychainUtils : NSObject { -
- }
-
-
- +
(NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; -
-
- +
(BOOL) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error; -
-
- +
(BOOL) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error; -
- @end
使用方法:
- #define
ServiceName @"com.mycompany.yourAppServiceName" -
- NSError
*error; - NSString
*userName = @"<用户名>"; - NSString
*password = @"<用户密码>"; -
-
- BOOL
saved = [SFHFKeychainUtils storeUsername:userName -
andPassword:password -
forServiceName:ServiceName -
updateExisting:YES -
error:&error ]; - if
(!saved) { -
NSLog(@"保存密码时出错:%@", error); - }
-
- error
= nil; - NSString
*thePassword = [SFHFKeychainUtils getPasswordForUsername:userName -
andServiceName:ServiceName -
error:&error]; - if(error){
-
NSLog(@"从Keychain里获取密码出错:%@", error); - }