用keychain保存用户的账号,密码,uuid
来源:互联网 发布:安卓3g4g网络切换软件 编辑:程序博客网 时间:2024/04/28 03:03
1.keychain(钥匙串)的功能
目前keychain的主要功能就是帮助用户安全地记住他的密码,keychain保存的密码文件都是经过加密的,其它人不能直接通过打开keychain的文件获得保存在keychain中的密码。在mac上可以安装钥匙串应用,一般情况下只有用户正确输入了mac系统的用户名和密码才能查看到用户保存在keychain中的密码。
Apple还提供了使用keychain保存密码的API,如果应用程序使用了keychain API来保存密码,保存密码的结果都可以在钥匙串应用中查看到。Apple自带的浏览器Safari就是用的keychain来保存密码的,当用户在一个网页中输入了用户名和密码之后,Safari会询问用户是否需要记住密码。如果用户选择记住Safari则会采用keychain进行密码的保存,在下次用户再次访问同一个网站的时候,系统会自动进行用户名和密码的填充。同时在钥匙串程序中,可以看到Safari保存的针对特定网页的用户名,在输入了系统登录密码之后可以查看到对应的密码明文。
2,iOS中使用keychain和userdefaults保存数据的对比
userdefault适合保存一些轻量级的数据,使用userdefault保存的数据加载的时候要快一些,数据以明文的形式保存在.plist文件中,不适合用来保存密码信息。文件的位置是Library/Application Support/iPhone Simulator/模拟器版本/Applications/应用对应的数字/Library/Preference/.plist文件
keychain采用的是将数据加密之后再保存到本地的,这样对数据而言有更高的安全性,适合保存密码之类的数据。数据保存的目录是Library/Application Support/iPhone Simulator/模拟器版本/Library/Keychains/
3.接下来介绍SSKeychain的使用
Apple针对keychain也提供了丰富的开发文档说明,包括有Keychain Services Programming Guide
对于只需要保存用户名和密码等的应用来说,SSKeyChain可能更加适合,它对keychain做了相应的封装,接口相对来说更加简单。
github有相应的源码和简介以及使用方法:SSKeyChain源码。
https://github.com/samsoffes/sskeychain
4,导入SSKeychain的步骤
1》在git上下载项目,将SSKeychain.h和SSKeychain.m导入到自己的项目中
2》添加Security.framework到自己的项目中
5,示例代码
1》保存一个UUID字符串到钥匙串:
CFUUIDRef uuid = CFUUIDCreate(NULL);assert(uuid != NULL);CFStringRef uuidStr = CFUUIDCreateString(NULL, uuid);[SSKeychain setPassword: [NSString stringWithFormat:@"%@", uuidStr]forService:@"com.yourapp.yourcompany"account:@"user"];
2》从钥匙串读取UUID:
NSString *retrieveuuid = [SSKeychainpasswordForService:@"com.yourapp.yourcompany"account:@"user"];
如果无法保存钥匙串,请使用SSKeychain.h中提供的错误代码,例如:
NSError *error = nil;NSString *password = [SSKeychainpasswordForService:@"MyService" account:@"samsoffes"error:&error];if ([error code] == SSKeychainErrorNotFound) {NSLog(@"Passwordnot found");}
注意: setPassword和passwordForSevice方法中的services 和 accounts 参数应该是一致的。
- 用keychain保存用户的账号,密码,uuid
- 保存用户账号信息;UUID、UDID、KeyChain、Devicetoken
- iOS 用keychain钥匙串保存账号、设备UUID及APP间共享
- iOS----KeyChain保存uuid
- iOS - Keychain保存用户帐号及密码
- iOS获取UUID,并使用keychain存储,将账号密码存到keychain中
- android SharedPreferences实现用户的注册和保存账号密码
- Cookie保存用户登录账号密码的应用
- 通过keychain进行保存UUID
- android下保存用户账号密码和读取账号密码
- 网络:keychain 保存密码
- 使用Keychain保存用户的信息
- 将uuid保存到keychain中
- keyChain保存uuid实现唯一标识
- 用SharePreference实现简单的保存账号密码
- 钥匙串 keyChain 存储账号密码
- IOS 用keychain(钥匙串)保存用户名和密码
- IOS 用keychain(钥匙串)保存用户名和密码
- Beautiful Soup4的简单使用
- 2-2 Time类的定义
- Python中super的用法(新式类与经典类(旧式类)的区别)
- AVE:自动车辆边缘计算框架与基于ACO的调度
- 算法储备之二分检索
- 用keychain保存用户的账号,密码,uuid
- 转载:Hdu 题目分类
- PHP环境下Memcache的使用方法
- 10-16盒子的移动与停止、表格的排序
- Django Migration Correlation
- R爬取对应IP位置数据
- C++中的static关键字的总结
- 16.归并排序
- C#反射调用