iOS中安全保存用户名或密码的方法

作为一名iPhone开发者, 你需要对你的用户安全负责. 请问, 你是怎么保存用户的密码的?

 

直接保存到plist里?


加密? AES? DES? 能保证你的代码不被反编译拿到你的加密Key?

 

这也未免太不苹果了吧. 我Google了一下, 国内的开发者根本没有注意到这个问题.


苹果系统中有个程序叫”钥匙串” (Keychain), 它不仅仅是你申请开发证书用的, 哈哈. 它可以存密码!


这也是苹果给出的保存密码的最佳解决方案.

 

iPhone中也有Keychain, 用过PushFix破解包(就是那个修复推送的小工具)的国内iPhone破解用户应该还有印象.

 

用原生的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 ;

源码地址: http://github.com/ldandersen/scifihifi-iphone/tree/master/security


原文:http://blog.csdn.net/fengsh998/article/details/7920368
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值