Шифрование основных данных? - PullRequest
1 голос
/ 11 октября 2011

У меня есть сущности Account и CreditCard в базовых данных. account может иметь несколько creditCards. Каждый creditCard имеет number. Как мне зашифровать number?

Я знаю, что могу использовать Keychain Services без Core Data, но могу ли я использовать их вместе? Причина, по которой я хочу использовать базовые данные вместо NSUserDefaults, заключается в том, что я хочу обрабатывать несколько учетных записей. Я не пользовался Keychain Services, поэтому не уверен, будет ли это хорошо для нескольких аккаунтов.

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Вы можете сохранить свой объект цепочки для ключей в Базовых данных, преобразовав его в NSData объект.Это не так уж тривиально, так как вам нужно правильно преобразовать его назад и вперед.Ознакомьтесь с этими документациями о нестандартных постоянных атрибутах, чтобы помочь вам.

1 голос
/ 10 мая 2015

Вы можете изменить атрибуты, которые вы хотите зашифровать, на тип Transformable и создать собственный NSValueTransformer, который шифрует при вызове transmedValue и дешифрует при вызове reverseTransformedValue.

Преобразуемые атрибуты: https://developer.apple.com/library/prerelease/ios/samplecode/PhotoLocations/Introduction/Intro.html

Пример дешифрования / шифрования AES256: https://gist.github.com/m1entus/f70d4d1465b90d9ee024

...