Зашифровать NSDocument на macOS - PullRequest
0 голосов
/ 12 мая 2018

Можно ли в любом случае переопределить NSPersistentDocument для шифрования и требовать пароль для открытия файла?Другими словами, возможно ли зашифровать документ целиком с помощью предоставленного пользователем пароля?Я рассмотрел решения, и кажется, что единственный способ - это фактически зашифровать сами данные CoreData, однако это сделало бы невозможным использование NSPredicate для фильтрации NSFetchRequest, поскольку данные были бы зашифрованы.Альтернативой может быть использование Realm, который имеет ключ шифрования, но шифрует только данные Realm, оставляя все остальные данные в документе незашифрованными.

Ответы [ 2 ]

0 голосов
/ 28 августа 2018

Вы можете зашифровать объекты CoreData, и, создавая переходные (только в памяти) поля открытого текста при чтении, вы можете использовать NSPredicate для фильтрации NSFetchRequest по этим полям открытого текста.Смотрите здесь пример кода шифрования / дешифрования: https://github.com/michaelrourke/EncryptedCoreData

0 голосов
/ 12 мая 2018

Посмотрите на документ для NSPersistentStore и его двух абстрактных подклассов, NSAtomicStore и NSIncrementalStore. Если вы сделаете пользовательский подкласс одного из них, вы можете настроить серверную часть, в которую записываются базовые данные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...