文档章节

利用SSKeychain缓存用户及账号密码

幽默的老司机
 幽默的老司机
发布于 2016/07/04 16:48
字数 176
阅读 47
收藏 0

SSKeychain(存储账号密码)
https://github.com/soffes/SSKeychain

#import <SSKeychain.h>

/*! @brief  保存的帐号 */
@property (nonatomic, copy, readwrite) NSString *localAccountName;

/*! @brief  保存的明文密码 */
@property (nonatomic, copy, readwrite) NSString *localAccountPwd;


/**
 *  保存账号和密码
 *
 *  @param account  账号
 *  @param password 密码
 */

- (void)saveUserAccount:(NSString *)account password:(NSString *)password {
    NSArray *accounts = [SSKeychain accountsForService:kBundleID];
    for (NSDictionary *dictionary in accounts) {
        NSString *account = [dictionary objectForKey:@"acct"];
        [SSKeychain deletePasswordForService:kBundleID account:account];
    }
    [SSKeychain setPassword:password forService:kBundleID account:account];
}


/**
 *  读取存储的账号
 *
 *  @return 账号
 */

- (NSString *)localAccountName {
    if (_localAccountName == nil) {
        NSArray *accounts = [SSKeychain accountsForService:kBundleID];
        NSDictionary *dictionary = [accounts firstObject];
        NSString *name = [dictionary objectForKey:@"acct"];
        if (!name || name.length == 0) {
            _localAccountName = @"";
        } else {
            _localAccountName = name;
        }
    }
    return _localAccountName;
}


/**
 *  读取存储的密码
 *
 *  @return 密码
 */

- (NSString *)localAccountPwd {
    if (_localAccountPwd == nil) {
        _localAccountPwd = [[SSKeychain passwordForService:kBundleID account:self.localAccountName] copy];
    }
    return _localAccountPwd;
}

 

© 著作权归作者所有

幽默的老司机

幽默的老司机

粉丝 3
博文 27
码字总数 3808
作品 3
昌平
程序员
私信 提问
一个轻量级iOS安全框架:SSKeyChain

SSKeyChains对苹果安全框架API进行了简单封装,支持对存储在钥匙串中密码、账户进行访问,包括读取、删除和设置。SSKeyChain的作者是大名鼎鼎的SSToolkit的作者samsoffes。 项目地址:https...

阿琳
2014/04/23
5.7K
1
关于ios5以上不在支持设备的uniqueIdentifier解决方案

关于ios5以上不在支持设备的uniqueIdentifier解决方案 苹果又禁了一个功能 uniqueidentifier 在iOS5以上不能用了,也就是说,它不能用作分析数据的一种方式了 先说下苹果啊,今年以来真的是很...

晨曦之光
2012/05/28
72
0
iOS中常见的几种加密方式总结!

这篇文章主要给大家介绍了关于iOS中常见的几种加密方法,其中包括 base64加密、POST加密、Token值介绍、MD5加密--(信息-摘要算法) 哈希算法之一、时间戳密码以及指纹识别等方法,文中通过示例...

_小迷糊
03/29
0
0
那些在学习iOS开发前就应该知道的事(part 2)

英文原文:Things I wish I had known before starting iOS development—Part 2 如果你还没读这篇文章的第一部分,请先读完了再来看第二部分。 那些在学习iOS开发前就应该知道的事(part 1)...

TomatosX
2015/06/12
141
0
【逐渐提高】ios 代码库 集合类

系统基础库 Category/Util sstoolkit 一套Category类型的库,附带很多自定义控件 功能不错~ BlocksKit 将Block风格带入UIKit和Founcation cocoa-helpers 一些Cocoa的扩展 2年前的工程 Coconu...

创意总监
2014/08/30
260
1

没有更多内容

加载失败,请刷新页面

加载更多

程序设计基础(C)第06讲例程

1summing.c /* summing.c -- 根据用户键入的整数求和 */#include <stdio.h>int main(void){ long num; long sum = 0L; /* 把sum 初始化为0 */ int status; p......

树人大学数字媒体吴凡
29分钟前
6
0
聊聊nacos config的publishConfig

序 本文主要研究一下nacos config的publishConfig ConfigController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/ConfigController.java @Controller@R......

go4it
56分钟前
5
0
Eureka应用注册与集群数据同步源码解析

在之前的EurekaClient自动装配及启动流程解析一文中我们提到过,在构造DiscoveryClient类时,会把自身注册到服务端,本文就来分析一下这个注册流程 客户端发起注册 boolean register() t...

Java学习录
今天
11
0
Java描述设计模式(15):责任链模式

本文源码:GitHub·点这里 || GitEE·点这里 一、生活场景描述 1、请假审批流程 公司常见的请假审批流程:请假天数 当 day<=3 天,项目经理审批当 3<day<=5 天,部门经理审批当 day>5 天...

知了一笑
今天
11
0
总结:数组与链表

1、内存申请:数组在内存上是连续的空间;链表,内存地址上可以是不连续的。 2、查询速度:数组可以随机访问,链表必须顺序访问,即从首个元素开始遍历,逐个查找,所以数组查询很快。 3、写入...

浮躁的码农
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部