zoukankan      html  css  js  c++  java
  • iPhone保存用户密码的安全方法

     

    类的地址: http://github.com/ldandersen/scifihifi-iphone/tree/master/security作为一名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
  • 相关阅读:
    开篇之作
    瀑布流特效
    随写
    关于冒泡排序的补充
    New start-开始我的学习记录吧
    java中序列化的简单认识
    我的Python之路
    算法学习笔记
    Leaflet个人封装笔记
    反射获取config实体类属性并赋值
  • 原文地址:https://www.cnblogs.com/lm3515/p/2015839.html
Copyright © 2011-2022 走看看