您的位置:首页 > 编程语言 > Go语言

保存用户密码的安全方法 .

2014-07-08 00:00 337 查看
作为一名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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息