美文网首页
iOS Keychain的使用

iOS Keychain的使用

作者: 人间一流 | 来源:发表于2025-04-16 14:47 被阅读0次

在 iOS 开发中,Keychain 是一个强大的安全存储机制,用于存储敏感信息,如密码、证书、密钥、会话令牌等。Keychain 提供了比 NSUserDefaults 更高的安全性,因为它将数据存储在受保护的区域,并且只有应用程序本身可以访问这些数据。以下是 Keychain 的详细作用和用途。
Keychain 的作用
安全存储:

加密存储:Keychain 使用硬件加密技术来保护存储的数据,确保数据在设备上安全。
访问控制:通过访问控制列表(ACL)控制数据的访问权限。
持久化:

数据在应用程序重新安装后仍然存在,除非用户重置设备或删除所有应用数据。
跨应用共享:

通过 Keychain Access Groups,多个应用程序和扩展可以共享同一份 Keychain 数据。
自动备份:

Keychain 数据可以与 iCloud 备份一起自动备份,确保数据在设备更换时仍然可用。
系统管理:

Keychain 由操作系统管理,提供了一致的安全性和稳定性。
Keychain 的用途
存储密码和凭证:

用户登录凭证(如用户名和密码)。
OAuth 令牌和会话令牌。
存储证书和密钥:

SSL/TLS 证书。
加密密钥(对称密钥和非对称密钥)。
存储敏感信息:

支付信息。
个人身份信息(PII)。
跨应用共享数据:

主应用和其扩展(如 Today Extensions、WatchKit 扩展、SiriKit 扩展等)之间的数据共享。
不同应用之间的数据共享(通过相同的 Access Group)。
自动备份:

确保关键数据在设备更换时仍然可用。

使用教程

1.pod 导入 pod 'UICKeyChainStore'
2.配置 Capabilities
3.配置 Entitlements 文件
配置 Keychain Access Groups,点击+号,新增string $(AppIdentifierPrefix)+服务名即可 ,服务名对应代码中的服务名
4.导入头文件 #import <UICKeyChainStore/UICKeyChainStore.h>
5.简单使用教程

- (void) writeToKeyChain{
    UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"aaa.bleTest"];
    // 存储数据
    [keychain setString:@"mySecretPassword" forKey:@"password"];
}

- (void) getFromKeyChain{
    UICKeyChainStore *keychain = [UICKeyChainStore keyChainStoreWithService:@"aaa.bleTest"];
    // 读取数据
    NSString *sercet = [keychain stringForKey:@"password"];
    NSLog(@"钥匙串读取-----%@---%@",sercet,keychain[@"password"]);
}

相关文章

  • 数据安全性-存储敏感的用户数据

    使用keychain来存储,也就是钥匙串,使用keychain需要导入Security框架 iOS的keychai...

  • 你会如何存储用户的一些敏感信息,如登录的token

    原文:iOS面试题大全 使用keychain来存储,也就是钥匙串,使用keychain需要导入Security框架...

  • 2021-08-23

    iOS swift 钥匙串的Keychain 的详细使用 Keychain (密码管理系统) 数据并不存放在A...

  • Keychain与NSUserDefaults

    NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象iOS keyChain 研...

  • IOS使用 SFHFKeychainUtils 在 iOS ke

    为什么使用Keychain存储用户敏感信息 : iOS的keychain服务提供了一种安全的保存私密信息(密码,序...

  • iOS Keychain使用

    iOS的keychain可以说是系统里唯一可以做到安全可靠存储应用敏感数据并且可以在应用卸载或重新安装时仍然保留其...

  • iOS Keychain 读写规则

    iOS Keychain 读写规则 未开启Keychain Sharing 写Keychain时不设置group,...

  • SFHFKeychainUtils

    使用Keychain存储用户敏感信息 iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书...

  • iOS keyChain 的使用

    一、利用KeyChain生成靠谱的UDID 首先我们回顾一下iOS不同版本获取机器UDID的方法 iOS 5.0i...

  • iOS KeyChain的使用

    很多时候我们会发现一些iOS应用(例如:facebook,whatsap)即使我们卸载重装它仍然能够记住我们的账...

网友评论

      本文标题:iOS Keychain的使用

      本文链接:https://www.haomeiwen.com/subject/nbdebjtx.html