iOS钥匙串

钥匙串

  • 苹果的"生态圈",钥匙串访问,使用 AES 256 加密算法,能够保证用户密码的安全
  • 钥匙串访问SDK,是苹果在 iOS 7.0.3 版本以后公布的
  • 钥匙串访问的接口是纯 C 语言的,但是,网络上有一个哥们把它封装成 OC 的,使用相当简单!
  • 钥匙串访问的密码保存在哪里?
    • 只有苹果知道!是为了进一步保障用户的密码安全!
  • 钥匙串访问的第三方框架,是对 C 框架的封装,可以不用看源代码

框架地址

https://github.com/soffes/sskeychain

/// 所有账户

+ (NSArray *)allAccounts;

/// 获取所有账户信息

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

/// 获取账号密码

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

/// 删除账号密码

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

/// 将账号密码保存在钥匙串

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

保存钥匙串

///  保存用户信息

- (void)saveUserInfo {

 

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

 

    // iOS 8.0 会直接写入沙盒,无需再使用 `[defaults synchronize];`

    [defaults setObject:self.username forKey:HMUsernameKey];

 

    // 将用户密码保存在钥匙串

    NSString *bundleId = [NSBundle mainBundle].bundleIdentifier;

    [SSKeychain setPassword:self.pwd forService:bundleId account:self.username];

}

从钥匙串加载密码

///  加载用户下信息

- (void)loadUserInfo {

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

 

    self.usernameText.text = [defaults stringForKey:HMUsernameKey];

 

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

    NSString *bundleId = [NSBundle mainBundle].bundleIdentifier;

    self.pwdText.text = [SSKeychain passwordForService:bundleId account:self.usernameText.text];

}

转载于:https://www.cnblogs.com/fakeCoder/p/5093785.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值