iOS保存密码之钥匙串操作以及UDID设备唯一标识符获取的替代方法
2016-07-01 11:00
573 查看
GitHub项目网址:https://github.com/mlibai/XZKeychain
保存密码是App项目中的常见问题,保存到 NSUserDefaults 中,显然不安全,也容易丢失。
钥匙串是Mac和iOS系统中的内置的保存密码方式,不会因为删除App而丢失,支持夸组访问。
但是原生的API太过难操作,网上虽然已经有人封装了相关的API,但总觉得不够明确,且自由度不够,于是花了点时间彻底研究了一下,封装了一个类 XZKeychain 。
下面只是关于保存密码的简单使用,完整的示例已经上传到GitHub,欢迎大家提意见共同交流!
// 获取设备唯一标识符
NSLog(@"设备唯一标识符:%@", [XZKeychain deviceIdentifier]);
// 存取密码的简单方法:
// 保存密码
if ([XZKeychain setPassword:@"aPassword" forAccount:@"anAccount" identifier:@"anIdentifier"]) {
NSLog(@"密码保存成功");
}
// 读取密码
NSString *password = [XZKeychain passwordForAccount:@"anAccount" identifier:@"anIdentifier"];
if (password != nil) {
NSLog(@"获取成功,密码为:%@", password);
}
// 删除密码
if ([XZKeychain setPassword:nil forAccount:@"anAccount" identifier:@"anIdentifier"]) {
NSLog(@"删除成功");
}
保存密码是App项目中的常见问题,保存到 NSUserDefaults 中,显然不安全,也容易丢失。
钥匙串是Mac和iOS系统中的内置的保存密码方式,不会因为删除App而丢失,支持夸组访问。
但是原生的API太过难操作,网上虽然已经有人封装了相关的API,但总觉得不够明确,且自由度不够,于是花了点时间彻底研究了一下,封装了一个类 XZKeychain 。
下面只是关于保存密码的简单使用,完整的示例已经上传到GitHub,欢迎大家提意见共同交流!
// 获取设备唯一标识符
NSLog(@"设备唯一标识符:%@", [XZKeychain deviceIdentifier]);
// 存取密码的简单方法:
// 保存密码
if ([XZKeychain setPassword:@"aPassword" forAccount:@"anAccount" identifier:@"anIdentifier"]) {
NSLog(@"密码保存成功");
}
// 读取密码
NSString *password = [XZKeychain passwordForAccount:@"anAccount" identifier:@"anIdentifier"];
if (password != nil) {
NSLog(@"获取成功,密码为:%@", password);
}
// 删除密码
if ([XZKeychain setPassword:nil forAccount:@"anAccount" identifier:@"anIdentifier"]) {
NSLog(@"删除成功");
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- Patrol 7 架构下?的处理方法
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 清除IE分级审查密码
- 华为路由器密码恢复
- 注册表导出管理员密码文件
- 路由器版本与密码恢复
- 密码知识教程一
- 密码破解全教程
- 通过批处理修改FTP账号和密码
- redis中修改配置文件中的端口号 密码方法
- MAC上Mysql忘记Root密码或权限错误的快速解决方案
- 更改Mysql root用户密码
- C#判断密码强度的方法
- C#使用伪随机数实现加密用户密码的方法