iOS 数据持久化之KeyChain(Swift Demo)

本文详细介绍了如何在iOS中使用KeyChain进行数据持久化,特别是密码的存储。通过一个Swift Demo,展示了创建、更新、删除和获取KeyChain信息的步骤,并提供了源代码下载链接。KeyChain作为加密容器,确保了数据的安全性,适用于存储敏感信息。
摘要由CSDN通过智能技术生成

原创blog,转载请注明出处
blog.csdn.net/hello_hwc?viewmode=list


前言:前两篇持久化分别讲到了

本文讲解如何保存需要加密的信息。绝大多数情况下都是保存密码。少数情况下需要保存证书等信息。本文以密码为例,讲解如何用iOS SDK原生API来进行KeyChain的操作。
实际开发的过程中,建议使用一些Github的集成库,或者自己写一个KeyChain的库,很简单

源代码提供Swift版本,完整工程下载
CSDN下载
http://download.csdn.net/detail/hello_hwc/8663811
GitHub
https://github.com/wenchenhuang/SwiftKeyChainDemo


Demo效果
四个按键对应添加,更新,获取,删除

Demo的password没有显示黑点,是为了方便查看。

四种操作
---Get----


KeyChain简介

KeyChain是一个加密的容器,通常用来保存密码,证书,和一些需要加密的key。对于iOS来说,每个App有独立的keyChain,每个app只能访问自己的keyChain.
注意:keyChain的访问权限依赖于provisioning file。所以,如果要在应用更新的时候,仍然能够访问之前保存的密码,要保证provisioning file是同一个文件。


KeyChain描述

keyChain是通过字典来描述的,是一组key-value的对。用来描述这个keyChain是为什么样的应用保存什么样的数据,有什么样的访问权限等等。
一个典型的字典

其中

  • kSecClass 表示存储的是密码
  • kSecAttrAccount 表示的是为IamUser这个账号存储的密码
  • kSecAttrService 表示是为App Store存储的账号
  • 其余两个在查询的时候使用,知道如果要查询都设为ture就可以了

所有的keys可以从以下链接获取
https://developer.apple.com/library/ios/documentation/Security/Reference/keychainservices/index.html


手把手教你建立Demo App

创建一个基于Swift的工程,然后在storyboard上拖拽控件

并且拖拽outlet和action,然后实现UITextFieldDelegate,保证我们点击Return的时候,键盘会消失。这时候的代码如下

import Security

class ViewController: UIViewController,UITextFieldDelegate{

    @IBOutlet weak var usernam
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值