有没有办法可以重写 NSPersistentDocument 来加密并需要密码才能打开文件?换句话说,是否可以使用用户提供的密码对整个文档进行加密?我研究过解决方案,似乎唯一的方法是实际独立加密 CoreData 数据本身,但这将导致无法使用 NSPredicate 来过滤 NSFetchRequest,因为数据将被加密。另一种方法是使用具有加密 key 的 Realm,但仅加密 Realm 数据,而使文档中的所有其他数据不加密。
最佳答案
您可以加密 CoreData 对象,并通过在读取时创建 transient (仅在内存中)明文字段,您可以使用 NSPredicate 过滤这些明文字段上的 NSFetchRequest。有关加密/解密代码的示例,请参阅此处:https://github.com/michaelrourke/EncryptedCoreData
关于cocoa - 在 macOS 上加密 NSDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50309582/