钥匙扣和NSUserDefault之间的区别?

我是新的objective C ,我已经创build了一个应用程序,我已经使用NSUserDefaultKeychain来存储我的用户名和密码。 但我不能区分两者。 请帮忙区分两者。

谢谢。

钥匙串是一个encryption容器,用于保存多个应用程序和安全服务的密码。 苹果公司在Mac OS和iOS上使用钥匙串作为密码pipe理系统。

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

我从NSUserdefaults和keychain的标签信息中得到了这个

另外:当我们保存用户名和密码。 并从设备中删除应用程序。

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

在NSUserDefaults:用户名和密码也从你的应用程序从设备中删除。

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

钥匙串 – 钥匙串是安全和encryption的方式来保存小的存储数据,如用户名,密码等。当心钥匙串数据可以从越狱设备访问。 你可以从这里得到苹果示例代码。

钥匙串共享 –启用钥匙串共享允许您的应用程序与您的团队开发的其他应用程序在钥匙串中共享密码。 假设我们创build了两个应用程序,用户可以login到同一个帐户。 有能力共享这些应用程序之间的login信息将是很好的。 这样用户只需要在其中一个应用程序中login一次。

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