IOS使用 SFHFKeychainUtils 在 iOS keychain 中安全的存储密码

为什么使用Keychain存储用户敏感信息 :

iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储。相对于NSUserDefaults、文件保存等一般方式,keychain保存更为安全,而且keychain里保存的信息不会因App被删除而丢失,所以在重装App后,keychain里的数据还能使用。从ios 3.0开始,跨程序分享keychain变得可行。

如何在应用里使用keyChain?

先看看SFHFKeychainUtils提供的接口

//获得保存在钥匙串里的账号和密码
/*** 这里的 Service参数就是你的appid ***/
+ (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;

第一步:在pod里导入SFHFKeychainUtils:

pod 'SFHFKeychainUtils'

第二步:引入头文件,保存账号密码

//引入头文件
#import "SFHFKeychainUtils.h"

//删除用户
        [SFHFKeychainUtils deleteItemForUsername:userName andServiceName:ServiceName error:nil];
        
//存储账户密码
        [SFHFKeychainUtils storeUsername:userName andPassword:passwordNew forServiceName:ServiceName updateExisting:YES  error:nil];

//根据用户名取出密码
NSString  *passWord = [SFHFKeychainUtils getPasswordForUsername:userName andServiceName:ServiceName error:nil];






你可能感兴趣的:(IOS使用 SFHFKeychainUtils 在 iOS keychain 中安全的存储密码)