objective-c - 核心数据或 NSUserDefaults 以避免操纵用户?

标签 objective-c swift macos cocoa core-data

保存用户无法操作或查看的数据(例如密码)的最佳方式是什么? NSUserDefaults 被保存在 Mac 上的一个文件中,用户可以操作和查看。 核心数据怎么样?这是否也保存在文件中,或者用户是否可以通过某种方式查看 Core Data

最佳答案

NSUserDefaults 绝对不应该用于存储密码,因为它以纯文本形式存储。核心数据可以加密,但默认情况下不是。它将所有数据存储在一个非常易于阅读的 SQLite 数据库中。密码应存储在系统钥匙串(keychain)中。可以使用 Security Framework 访问钥匙串(keychain).

有几个库可以使钥匙串(keychain)的使用更加容易,例如:LocksmithValet .

关于objective-c - 核心数据或 NSUserDefaults 以避免操纵用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38492152/

相关文章:

objective-c - 在 NSTable 中获取 NSButton 的行

ios - 是否可以在一个 xib 中创建多个单元格?

objective-c - 是否可以以编程方式绑定(bind)两个关键路径,在 Cocoa 中设置连续更新?

java - Macintosh 上的 Swing GUI 问题

ios - 重新加载数据后表格 View 选择行无限循环

swift - 在后台快速终止应用程序

objective-c - NSAlert不会消失

objective-c - NSJSONSerialization 生成 NSCFString* 和 NSTaggedPointerString*

ios - 使用 AFNetworking 进行图像缓存

swift - 在 Swift 中为 Apple Watch 制作一个简单的淡入淡出动画?