Keychain和NSUserDefault之间的区别?

问题描述 投票:11回答:3

我是objective C的新手,我创建了一个应用程序,因为我使用了NSUserDefaultKeychain来存储我的用户名和密码。但我无法区分两者。请帮助区分两者。

谢谢。

ios objective-c swift nsuserdefaults keychain
3个回答
13
投票

钥匙串是一个加密容器,用于存放多个应用程序和安全服务的密码。 Apple Inc.在Mac OS和iOS中使用钥匙串作为密码管理系统。

NSUserDefaults根据用户首选项提供应用程序行为自定义的方法。属于Cocoa和Cocoa Touch的Foundation框架。

我从NSUserdefaultskeychain的Tag Information获得了这个


8
投票

添加:当我们保存userName和Password时。并从设备中删除应用程序。

在钥匙串中:用户名和密码仍在那里。

在NSUserDefaults中:用户名和密码也会从您的应用中删除设备。


6
投票

尽量避免在本地保存数据。

Keychain- Keychain是一种安全和加密的方式,可以保存小型存储数据,如用户名,密码等。当心密钥链数据可以从越狱设备访问。您可以从here获取Apple示例代码。

Keychain Sharing-启用钥匙串共享允许您的应用程序与您的团队开发的其他应用程序共享钥匙串中的密码。假设我们创建了两个用户可以登录同一帐户的应用程序。能够在这些应用程序之间共享登录信息会很高兴。这样,用户只需在其中一个应用程序中登录一次。

UserDefaults用户默认数据库的接口,您可以在给定设备上的应用程序调用中持久存储键值对。 UserDefaults不是保存私有数据的安全方法。 UserDefaults在本地存储为plist,任何人都可以跟踪./Library/Preferences/com.mycompany.MyAppName.plist

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.