SSKeyChain保存密码的N姿势

作者: Sean_Shi | 来源:发表于2016-06-17 10:20 被阅读641次

配置环境:

pod 'SSKeychain'

SSKeyChain主要的api

// 保存对应账户密码
+ (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName   account:(NSString *)account;
// 提取对应账户密码
+ (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account;
// 删除对应账户密码
+ (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参数说明:

SSKeyChain的方法中涉及到的变量主要有三个, password、service、account。password、account分别保存的是密码和用户名信息。 service保存的是服务的类型,就是用户名和密码是为什么应用保存的一个标志。比如一个用户 可以再不同的论坛中使用相同的用户名和密码,那么service保存的信息分别标识不同的论坛。由于包名通常具有一定的唯一性,通常在程序中可以用包的名称来作为service的标识。

SSKeyChain和NSUserDefaults的比较

  1. NSUserDefaults数据以明文的形式保存在,而且存储的数据会随着APP卸载而删掉
  1. SSKeyChain是将数据加密后存储在本地,更安全,SSKeyChain存储的数据不会删除

示例:

code:

   //说明:account、service、password分别为账户、服务名、密码,
   [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"]);
    }

相关文章

  • SSKeyChain保存密码的N姿势

    配置环境: pod 'SSKeychain' SSKeyChain主要的api SSKeyChain参数说明: S...

  • SSKeyChain保存密码

    1.1 SSKeyChain方法中涉及到的变量 SSKeyChain的方法中涉及到的变量主要有三个, passwo...

  • 7钥匙串加密

    钥匙串 第三方框架 sskeychain-master 保存到钥匙串 钥匙串访问的密码保存在哪里? 只有苹果知道,...

  • 1、登录相关

    1、session登陆验证拦截器 2、记住密码,n天免登录本项目中用cookie保存密码(1)jsp 一段java...

  • fileZilla无法保存密码

    当fileZilla提示无法保存密码时 可通过设置界面 -> 保存密码

  • Windows备忘录

    开启administrator账户 绕过开机密码的姿势 绕过bios密码的姿势 IIS 默认网站路径 c:\ine...

  • go处理用户密码的最佳实践

    保存用户密码的时候切记不用保存密码的明文,要保存密码的hash,这样即便数据库中的用户hash泄露也无伤大雅。 h...

  • iOS APP中常用加密总结

    demo github链接 APP用户密码不能以明文的形式保存,需要对用户密码加密之后再保存. 密码的安全原则 本...

  • Swift获取UUID方法

    1.利用三方库的支持三方demo点这里 2.将demo中SSKeychain.h SSKeychain.m文件拖入...

  • Swift获取UUID方法

    1.利用三方库的支持三方demo点这里 2.将demo中SSKeychain.h SSKeychain.m文件拖入...

网友评论

  • 042a0e1be73f:用CocoaPods导入的时候会提示SSKeychain has been deprecated in favor of SAMKeychain,请问这是什么意思?
    042a0e1be73f:@Sean_Shi 谢谢啦!
    Sean_Shi:@iOSwift 这意思就是已弃用了,用后面那个
  • sytuzhouyong:建议使用KeychainItemWrapper,SSKeyChain有坑
    大眼萌璇璇:@sytuzhouyong 请问SSKeyChain的坑点在哪里
  • 赤脊山的豺狼人:我也写过以前SSKeychain的文章,有空交流下
  • 5fff1c1a968e:我们工程用到这个在reasels 模式下是有问题的,还是建议先别用这个到工程

本文标题:SSKeyChain保存密码的N姿势

本文链接:https://www.haomeiwen.com/subject/vwcvdttx.html