Как зашифровать связанные текстовые / json файлы?

#iphone #ios #encryption #build-process

#iPhone #iOS #шифрование #процесс сборки

Вопрос:

У меня есть пара файлов в комплекте с моим приложением для iOS. Теперь, если кто-то загрузит приложение и получит доступ к файлу .ipa, он сможет легко их прочитать. Я хотел бы сделать это сложнее.

Знаете ли вы какие-либо ресурсы, посвященные этой теме? Я предполагаю, что мне нужна библиотека шифрования и несколько сценариев в моем скрипте сборки, кодирующих файл…

Конечно, я знаю, что кто-то может декомпилировать мои исходники и взломать код, но я просто хочу, чтобы это было сложнее.

Комментарии:

1. Как вы планируете расшифровать файл? Предположительно, где-то в вашем приложении будет пароль с открытым текстом.

2. Да, я знаю. Я просто хочу усложнить кражу некоторых моих IP-адресов, хотя я знаю, что предотвратить это невозможно 🙂

Ответ №1:

Как указывает @Alex, поскольку ключ будет находиться в исходном коде, это небезопасно.

Используйте CommonCryptor из CommonCrypto

 #import <CommonCrypto/CommonCryptor.h>
  

/ Операция шифрования или дешифрования без сохранения состояния, выполняемая одним выстрелом.

     CCCryptorStatus CCCrypt(
        CCOperation op,
        CCAlgorithm alg,
        CCOptions options,
        const void *key, size_t keyLength,
        const void *iv,
        const void *dataIn, size_t dataInLength,
        void *dataOut,
        size_t dataOutAvailable, size_t *dataOutMoved);
  

Но это приведет к ограничениям на экспорт. Вы могли бы быть так же счастливы, используя base64, который не является криптографией и не имеет ограничений на экспорт.

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