banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

iOS开发之使用Keychain来存取敏感信息

在 iOS 开发中,通常使用 UserDefaults 来存取应用程序的配置信息。但是,如果需要保存一些敏感信息,可以考虑使用 Keychain 来存取。在开发过程中需要注意的是,当应用程序被卸载后,UserDefaults 中的内容会被删除,而 Keychain 中的内容则不会被删除。如果首次将内容写入 Keychain,需要判断 Keychain 中是否包含之前没有删除干净的内容。Keychain(钥匙串)是苹果公司 Mac OS 中的密码管理系统,在 iOS 出现后也被引入到 iOS 中,作为用户密码管理的重要工具。对于开发者来说,使用 Keychain 可以省略对敏感信息进行加密和解密的过程,交由系统进行管理。

Keychain 的使用方法也很简单,苹果提供了一段示例代码,其中包含了 KeychainItemWrapper 这个对 Keychain 操作的包装工具包。使用这个工具包可以像使用 NSDictionary 一样简单地操作 Keychain。

KeychainItemWrapper *keychainItem = [[[KeychainItemWrapper alloc]
initWithIdentifier:@"Identifier"
accessGroup:@"cn.limc.app.boundle"] autorelease];
// 获取 Keychain 中的内容
NSString *value = [keychainItem objectForKey];

// 将内容写入 Keychain
NSString *valueToWrite = @"要存储的值";
[keychainItem setObject forKey];

苹果官方提供了一个 GenericKeychain 示例:http://developer.apple.com/library/ios/#samplecode/GenericKeychain/

参考网址:http://blog.csdn.net/tianyitianyi1/article/details/7643365 http://blog.k-res.net/archives/1081.html

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。