SSKeyChain保存密碼的N姿勢

配置環(huán)境:

pod 'SSKeychain'

SSKeyChain主要的api

// 保存對應(yīng)賬戶密碼
+ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName   account:(NSString *)account;
// 提取對應(yīng)賬戶密碼
+ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account;
// 刪除對應(yīng)賬戶密碼
+ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account;
// 獲取APP下所有賬戶
+ (NSArray *)accountsForService:(NSString *)serviceName;

//如果存儲的密碼是NSData
+ (NSData *)passwordDataForService:(NSString *)serviceName account:(NSString *)account;

+ (BOOL)setPasswordData:(NSData *)password forService:(NSString *)serviceName account:(NSString *)account;

SSKeyChain參數(shù)說明:

SSKeyChain的方法中涉及到的變量主要有三個, password、service、account。password、account分別保存的是密碼和用戶名信息。 service保存的是服務(wù)的類型,就是用戶名和密碼是為什么應(yīng)用保存的一個標(biāo)志。比如一個用戶 可以再不同的論壇中使用相同的用戶名和密碼,那么service保存的信息分別標(biāo)識不同的論壇。由于包名通常具有一定的唯一性,通常在程序中可以用包的名稱來作為service的標(biāo)識。

SSKeyChain和NSUserDefaults的比較

  1. NSUserDefaults數(shù)據(jù)以明文的形式保存在,而且存儲的數(shù)據(jù)會隨著APP卸載而刪掉
  1. SSKeyChain是將數(shù)據(jù)加密后存儲在本地,更安全,SSKeyChain存儲的數(shù)據(jù)不會刪除

示例:

code:

   //說明:account、service、password分別為賬戶、服務(wù)名、密碼,
   [SSKeychain setPassword:@"123456" forService:@"pwd" account:@"xm"];

    NSLog(@"xm 的 信息%@",[SSKeychain passwordForService:@"pwd" account:@"xm"]);


    if ([SSKeychain deletePasswordForService:@"pwd" account:@"xm"]) {
    
        NSLog(@"刪除成功");
        NSLog(@"xm 的 信息%@",[SSKeychain passwordForService:@"pwd" account:@"xm"]);
    
    }else
    {
        NSLog(@"刪除失敗");
        NSLog(@"xm 的 信息%@",[SSKeychain passwordForService:@"pwd" account:@"xm"]);
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容