日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

IOS的钥匙串,确保本地隐私数据的安全

發(fā)布時間:2023/11/27 生活经验 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS的钥匙串,确保本地隐私数据的安全 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

* 蘋果的"生態(tài)圈",鑰匙串訪問,使用 AES 256 加密算法,能夠保證用戶密碼的安全

* 鑰匙串訪問SDK,是蘋果在 `iOS 7.0.3` 版本以后公布的

* 鑰匙串訪問的接口是純 C 語言的,但是,網(wǎng)絡(luò)上有框架把它封裝成 OC 的,使用相當(dāng)簡單!

* 鑰匙串訪問的密碼保存在哪里?

? ? * 只有蘋果知道!是為了進一步保障用戶的密碼安全!

* 鑰匙串訪問的第三方框架,是對 C 框架的封裝。

?

框架地址

https://github.com/soffes/sskeychain

?

#import "SSKeychain.h"

?

?

/**

?*? 從鑰匙串讀取數(shù)據(jù)? 鑰匙串是由兩個參數(shù)確定唯一 值的 服務(wù)名? 最好用程序的 bundleId

?*

?*? @param serviceName 存儲 服務(wù)名 類似 key 可以隨便寫,建議用 bundleId

?*? @param account ? ? 賬號,用戶名,鑰匙串訪問中,可以保存很多賬號,很多 app 的密碼

?*? @param error ? ? ? 接收錯誤信息

?*

?*? @return 返回從鑰匙串讀取的內(nèi)容

?*/

?

+ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account;

+ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error;

?

/**

從鑰匙串中刪除對應(yīng) 數(shù)據(jù) 返回 是否成功

?*/

+ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account;

+ (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error;

?

?

/**

??? 存儲數(shù)據(jù)到鑰匙串。? password ?`明文`,加密工作蘋果做了,用的是 AES 256 算法

?*/

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

+ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account error:(NSError **)error;

?

/**

返回鑰匙串上所有的 account

?*/

+ (NSArray *)allAccounts;

+ (NSArray *)allAccounts:(NSError *__autoreleasing *)error;

?

/**

返回鑰匙串上所有的 serviceName

?*/

+ (NSArray *)accountsForService:(NSString *)serviceName;

+ (NSArray *)accountsForService:(NSString *)serviceName error:(NSError *__autoreleasing *)error;

?

?

例子:將用戶名保存到偏好設(shè)置,以 bundleId 和用戶名 ? 密碼保存到鑰匙串

?

#define JYUsernameKey @"JYUsernameKey"

#define JYUserpwdKey @"JYUserpwdKey"

- (void)saveUserInfo {

?? ?

? ? NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

? ? [defaults setObject:self.userName.text forKey:JYUsernameKey];

? ? // 從 iOS 8.0 開始,就不需要同步了

? ? [defaults synchronize];

?? ?

? ? // 以 bundleId 和 用戶名存儲 密碼到鑰匙串

? ? NSString *bundleId = [NSBundle mainBundle].bundleIdentifier;

? ? [SSKeychain setPassword:self.pwd.text forService:bundleId account:self.userName.text];

}

?

- (void)loadUserInfo {

? ? NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

?? ?

? ? self.userName.text = [defaults stringForKey:JYUsernameKey];

?? ?

? ? NSLog(@"===> %@", [SSKeychain allAccounts]);

? ? // 從鑰匙串中獲取用戶密碼

? ? NSString *bundleId = [NSBundle mainBundle].bundleIdentifier;

? ? self.pwd.text = [SSKeychain passwordForService:bundleId account:self.userName.text];

}

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/weijingyun/p/4562410.html

總結(jié)

以上是生活随笔為你收集整理的IOS的钥匙串,确保本地隐私数据的安全的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。