iOS钥匙串Keychain浅析
来源:互联网 发布:可爱表情贴图软件 编辑:程序博客网 时间:2024/05/01 19:22
根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌。苹果自己用keychain来保存WiFi密码,VPN凭证等。它是一个SQLite数据库,位于/private/var/Keychains/keychain-2.db,其保存的所有数据都是加密过的。
比如在Mac的LaunchPad中,就有一个钥匙串访问,打开就可以看到存储有很多重要的信息:
。
开发者通常会希望能够利用操作系统提供的功能来保存凭证(credentials)。而不是把他们(凭证)保存到NSUserDefaults,plist文件等地方。保存这些数据的原因是开发者不想用户每次都要登陆,因此会把认证信息保存到设备上的某个地方并且在用户每次打开应用的时候用这些数据自动登陆。Keychain的信息是存在于每一个App的沙盒之外的。
下面我们来看一看Keychain有哪些功能:
(1)在应用间利用Keychain共享数据
我们可以把Keychain理解为一个Dictionary,所有数据都以key-value的形式存储,可以对这个Dictionary进行add,update,get,delete.这四个操作。对于每一个应用来说,Keychain都有两个访问区,私有区和公共区。私有区是一个sandbox,本程序存储的任何数据对其他程序不可见。而想要在将存储的内容放在公共区,需要先声明公共区的名称,官方文档管这个名称叫:“keychain access group”,声明的方法是一个plist文件。
(2)保存私密信息
iOS的 keychain服务提供了一种安全的保存私密信息额方式,相对于NSUserDefaults和文件保存等一般方式,Keychain保存更为安全,而且Keychain里保存的信息不会因App被删除而丢失。所以在重装App之后,Keychain里的数据还能使用。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
- iOS钥匙串Keychain浅析
- iOS 钥匙串KeyChain
- Firemonkey访问iOS的钥匙串Keychain
- iOS Keychain (钥匙串)简单封装
- ios - 钥匙串开发(keychain开发)
- iOS钥匙串KeyChain相关参数的说明
- iOS keychain 钥匙串访问 错误代码 code =-34018 解决方法
- 钥匙串(Keychain)服务编程指南-iOS部分
- IOS 用keychain(钥匙串)保存用户名和密码
- IOS 用keychain(钥匙串)保存用户名和密码
- iOS钥匙串KeyChain相关参数的说明
- iOS钥匙串KeyChain相关参数的说明
- iOS的KeyChain(钥匙串)的使用
- IOS中使用sskeychain调用keychain(钥匙串)保存密码
- iOS Keychain钥匙串应用间数据共享
- iOS 将唯一标识符 写入keyChain(钥匙串)保存
- IOS 用keychain(钥匙串)保存用户名和密码
- keychain service钥匙串服务
- Android 悬浮窗权限问题解决
- 【NGUI】Input.GetTouch判断手指状态
- Go写的计费回调Server
- Android studio 利用gradle快速编译出apk
- 嵌入式linux C语言 如何同步系统时钟到硬件时钟
- iOS钥匙串Keychain浅析
- Android 中Application的理解及使用
- Maven大全
- IOS笔记UI--首次启动介绍和LaunchDemo
- 图像的特征提取
- mfc operator new”: 没有重载函数接受 3 个参数
- poj3070 Fibonacci(矩阵快速幂)
- 轻松学习JavaScript二:JavaScript语言的基本语法要求
- 创建event_base