keyChain的使用

本文借鉴原文章

keychain是一种存储在硬盘上的加密的数据库。这个可能是卸载App后,keychain信息还在的原因。

keychain适合存储较小的数据量(不超过上千字节或上兆字节)的内容。



具体步骤:

首先在存储数据是应该先查询是否存在 存在就更新否则就存储


先读取是否存在


存在就更新


增加新数据


删除旧数据


另附上 SWIF版本:


读取信息


先查询在保存


删除信息

属性字典的key、value常用的有:(这部分内容读者也可直接看文档):

(id)kSecClass: (id)kSecClassGenericPassword

kSecClass表示item的class

(id)kSecClass的值表明一个通用的密码item笔者一般都传入kSecClassGenericPassword

(id)kSecAttrService: service

kSecAttrService的value用于表明item的service

(id)kSecAttrAccount: account

(id)kSecAttrAccoun的值表明item的帐户名

(id)kSecValueData: passwordData

(id)kSecValueData表示item的数据

(id)kSecMatchLimit: (id)kSecMatchLimitOne,

(id)kSecMatchLimit 有2个值(id)kSecMatchLimitOne、和(id)kSecMatchLimitAll

kSecMatchLimitOne:表示只匹配第一个符合条件的item

kSecMatchLimitAll:表示匹配不限数量的items

(id)kSecReturnData: @(YES)

(id)kSecReturnData的值是一个Boolean类型的值用于确定是否返回item data

kSecClass的值表示item的class

kSecClass的值表明一个通用的密码item笔者一般都传入的kSecClassGenericPassword

学习地址

SMKeychain


你可能感兴趣的:(keyChain的使用)