Keychain和NSUserDefault之间的区别?

Gan*_*thy 13 objective-c keychain nsuserdefaults ios swift

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

谢谢.

Ara*_*han 14

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

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

我从NSUserdefaults钥匙串的标签信息中得到了这个


Lin*_*yen 8

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

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

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


Jac*_*ack 7

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

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

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

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