iPhone App里保存用户密码的安全方法
2010-04-16 14:33
477 查看
转自CocoaChina会员的博客,原文地址 http://b.imi.im/?p=362 作为一名iPhone开发者, 你需要对你的用户安全负责. 请问, 你是怎么保存用户的密码的?直接保存到plist里?加密? AES? DES? 能保证你的代码不被反编译拿到你的加密Key?
这也未免太不苹果了吧. 我Google了一下, 国内的开发者根本没有注意到这个问题.苹果系统中有个程序叫”钥匙串” (Keychain), 它不仅仅是你申请开发证书用的, 哈哈. 它可以存密码!这也是苹果给出的保存密码的最佳解决方案.
用原生的Security.framework就可以实现钥匙串的访问, 读写, 但是只能在真机上进行, 模拟器会出错. 在Github上, 有个封装的非常好的类 来实现这个功能, 让你既能在模拟器又能在真机上访问钥匙串.
//获取密码
+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
//保存密码
+ (void) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
//删除密码
+ (void) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
这也未免太不苹果了吧. 我Google了一下, 国内的开发者根本没有注意到这个问题.苹果系统中有个程序叫”钥匙串” (Keychain), 它不仅仅是你申请开发证书用的, 哈哈. 它可以存密码!这也是苹果给出的保存密码的最佳解决方案.
用原生的Security.framework就可以实现钥匙串的访问, 读写, 但是只能在真机上进行, 模拟器会出错. 在Github上, 有个封装的非常好的类 来实现这个功能, 让你既能在模拟器又能在真机上访问钥匙串.
//获取密码
+ (NSString *) getPasswordForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
//保存密码
+ (void) storeUsername: (NSString *) username andPassword: (NSString *) password forServiceName: (NSString *) serviceName updateExisting: (BOOL) updateExisting error: (NSError **) error;
//删除密码
+ (void) deleteItemForUsername: (NSString *) username andServiceName: (NSString *) serviceName error: (NSError **) error;
相关文章推荐
- iPhone App里保存用户密码的安全方法
- iPhone App里保存用户密码的安全方法
- iPhone保存用户密码的安全方法
- iPhone保存用户密码的安全方法
- 保存用户密码的安全方法 .
- 保存用户密码的安全方法
- 保存用户密码的安全方法 .
- 详解iPhone开发保存用户密码安全
- 保存用户密码的安全方法 .
- 利用钥匙串,在应用里保存用户密码的方法
- Win8.1系统网页无法保存用户密码的解决方法
- 远程桌面连接保存登陆用户以及密码(凭据)备份方法
- jquery.cookie.js实现用户登录保存密码功能的方法
- 利用钥匙串,在应用里保存用户密码的方法
- 移动App该如何保存用户密码
- 【读书笔记】iOS-安全地传输用户密码的方法
- iOS中安全保存用户名或密码的方法
- 安全保存用户密码的几大准则
- 【读书笔记】iOS-安全地传输用户密码的方法
- iOS中安全保存用户名或密码的方法