2015-11-24 4 views
1

В моем приложении я хочу сохранить очень конфиденциальные данные на клиенте в зашифрованном кеше и подумал об использовании брелка.Ограничения использования брелка iOS

Потенциально мы могли бы в конечном итоге положить совсем немного информации (несколько мегабайт) в этот кэш и было интересно ...

  • Существуют ли какие-либо жесткие ограничения на размер данных, которые я могу втиснуться в брелок?
  • Есть ли другое/лучшее место, где я могу хранить эти данные? Мне нужен простой интерфейс key/value, похожий на NSUserDefaults, но зашифрованный.

Заранее благодарен!

ответ

2

Брелок (учитывайте название) предназначен для хранения ключей и других достаточно мелких защищенных предметов. Для данных зашифруйте его с помощью AES с использованием Common Crypto и сохраните ключ в цепочке ключей. Создайте ключ из случайных байтов. Сохраните зашифрованные данные в папке «Документы» или в подкаталоге.

+0

Знаете ли вы о каких-либо библиотеках с открытым исходным кодом, которые могут делать такие вещи уже, или мне нужно сворачивать самостоятельно? – 72A12F4E

+0

Существует множество примеров шифрования для ОС. На каком языке вы используете? Сделайте попытку и поставьте это в вопрос. – zaph

+0

ObjC и Swift. У меня более крупный проект (200+ классов), который нуждается в кешировании конфиденциальных данных на стороне клиента, и надеялся, что кто-то уже создал библиотеку, которая могла бы решить эту проблему. – 72A12F4E

Смежные вопросы