使用NSUserDefault保存用户名密码,安全性如何以及安全多少?
我会用NSUserDefault保存几个值(用户名密码)。
第一:有没有办法将它们保存在一起(例如在数组中)? 第二:安全吗? 或者我是否以某种方式加密密码?
加密会给你一些安全性。 问题是你的程序还必须解密密码,这意味着它必须将密钥存储在某处。 这将使其易受逆向工程的影响。 更好的方法是在密码上使用单向函数 (例如哈希)并存储该哈希值。 当用户输入密码时,您可以将单向函数应用于密码,并将结果与存储值进行比较。 通过这种方式,密码不会受到损害(好吧,总是存在字典攻击,但这是密码强度的问题)。
您最好使用iOS Keychain服务 ,而不是使用NSUserDefaults。 它的主要目的是安全地存储用户凭据。 Apple已经为您完成了所有艰苦的工作。 利用它。
不,这不安全。
如果您需要安全地存储数据,请使用钥匙串 。
您可以使用NSDictionary或NSarray来保存您的值,您还应该加密您的数据,因为NSUserDefaults的工作方式类似于任何人都可以访问的plist
这个易于使用,适用于ARC
- 在Google地图中使用目标c ios打开获取方向
- UIDocumentInteractionController无法添加ics文件到日历
- 将对象从NSMutableDictionary添加到NSMutableArray
- 后台的StartUpdateLocations,didUpdatingToLocation只调用了10-20次
- iOS 7 UITabBar徽章位置
- SudzC ARC版本 – objc_msg发送调用导致使用64位架构的EXC_BAD_ACCESS
- Obj-c,释放对象的校验和不正确,被释放后可能被修改
- 旋转和裁剪UIImage
- 为什么我无法通过使用“usedRectForTextContainer”来获取textContainer的矩形