根据苹果的介绍,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浅析相关推荐

  1. iOS钥匙串KeyChain相关参数的说明

    一.Keychain 基础 根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌.苹果自己用keychain来保存Wi ...

  2. iOS钥匙串三种提取方案【iOS加密备份】【keychain_dumper】【frida-objection】

    iOS钥匙串(keychain)是iOS操作系统提供的一种安全存储机制,用于存储用户的敏感信息(如密码等).钥匙串管理器可以在任何应用和扩展中安全地存储和访问用户的敏感信息,而不会被其他应用的访问或破 ...

  3. html5 ios keychain,iOS 用keychain钥匙串保存账号、设备UUID及APP间共享

    iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式,每个ios程序都有一个独立的keychain存储.相对于NSUserDefaults.文件保存等一般方式,key ...

  4. ios下 KeyChain 的研究

    iOS的keyChain是一个相对独立的空间,当我们的程序(App)被替换或者删除时并不会删除保存在keyChain的内容.相对于NSUserDefaults.plist文件保存等一般方式,keych ...

  5. Keychain 浅析

    什么是Keychain? 根据苹果的介绍,iOS设备中的Keychain是一个安全的存储容器,可以用来为不同应用保存敏感信息比如用户名,密码,网络密码,认证令牌.苹果自己用keychain来保存Wi- ...

  6. ios使用keyChain(钥匙串)保存数据

    keyChain是ios中唯一可以存储安全可靠敏感数据的地方.而且应用被卸载,数据也不会被删除,所以非常可靠. 苹果官方的操作keychain,比较繁琐和隐晦,这里使用开源的第三方库SAMKeycha ...

  7. ios使用KeyChain获取唯一不变的udid

    本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不变UDID的问题.并给出一个获取UDID的工具类,使用方便,只需要替换两个地方即可. 一.iOS ...

  8. iOS 钥匙串的基本使用

    级别: ★☆☆☆☆ 标签:「钥匙串」「keychain」「iOS」 作者: WYW 审校: QiShare团队 前言 : 项目中有时会需要存储敏感信息(如密码.密钥等),苹果官方提供了一种存储机制-- ...

  9. iOS中Keychain保存用户名和密码

    摘要: 有用户就用用户名和密码,而现在的应用都少不了一个保存用户名和密码用于自动登录的功能,本文介绍使用iOS自带的Keychain方法保存用户名和密码. 说到保存用户名和密码,以前有用过本地的数据库 ...

最新文章

  1. 【Swift】 GETPOST请求 网络缓存的简单处理
  2. 文字收缩下面半透明效果
  3. 一文带你了解光纤收发器和交换机之间的区别
  4. Sudo 授权需谨慎,否则脸上泪两行
  5. socket通信流程图
  6. 训练残骸模式– Java 8中的改进实现
  7. Linux Shell中各种分号和括号的用法总结
  8. B-JUI文档、下载
  9. Mybatis-Plus代码生成器初体验
  10. 美股数据获取 python_python3+tesseract获取美股PEG图像上的数据
  11. 从零开始部署基于阿里容器云的微服务(consul+registrator+template)(一)
  12. SPSS Statistics 24 软件安装教程
  13. 显示器突然黑屏怎么办
  14. IOS9 SDK下载、设备安装IOS9系统
  15. 分享CFA二级优质复习方法!
  16. 六,华为交换路由做NAT五种方法
  17. 北京建行个人信贷客户资信调查函.doc
  18. 手机启动不了android,安卓手机开不了机,小编教你如何解决安卓智能手机开不了机问题...
  19. 测试下1K个宏和程序运行空间大小的关系
  20. 专访架构师周爱民:谈企业软件架构设计[转]

热门文章

  1. java验证公民身份证真实性
  2. 解决pytorch打印Tensor时有省略号的问题
  3. 百度人脸java项目_百度人脸识别java 示例源码
  4. SMP vs NUMA
  5. Android studio项目闪退解决办法(已解决)
  6. 分布式之基石: 可靠性——What a tangled web we weave
  7. vue3中将base64的pdf文件流转换成pdf并预览(三)——base64数据转pdf pdf工具栏不显示 vue3-seamless-scroll组件的使用-事件捕获 给接口追加数据
  8. ##################### Coding相关的学习网站推荐【2016/12/16更新】
  9. pdf压缩文件怎么压缩到最小
  10. 襄阳职业技术学院计算机专业宿舍,2021年襄阳职业技术学院新生宿舍条件和宿舍环境图片...