Защита xml-списков в Cocoa / Objective C
-
13-09-2019 - |
Вопрос
Я пишу приложение, которое считывает информацию из am xml plist в пакете при запуске.Информация в списке была собрана в течение многих дней работы, и я хотел бы убедиться, что она не может быть легко извлечена из пакета приложений другой стороной после распространения.Есть ли какой-либо способ защитить или зашифровать XML-списки, которые вы включаете в свой пакет приложений?
Пожалуйста, мы будем очень признательны за любую помощь.
Решение
В plist нет встроенной функции шифрования.Многие люди рассматривают сжатие как шифрование.
Вот что бы я сделал,
- Составьте ключ шифрования.
- напишите крошечную программу для шифрования plist в двоичный файл, используя
SecKeyEncrypt()
. - Поместите двоичный файл в пакет.
- В приложении спрячьте ключ куда-нибудь.Например, храните их по частям, чтобы их было нелегко найти на свалке.
- Когда вы запускаете приложение, прочитайте двоичный файл из пакета, расшифруйте его с помощью
SecKeyDecrypt()
используя ключ, сохраните открытый текст в памяти. - Открытый текст - это plist, и загрузите plist из памяти.
Это по-прежнему считается запутывающим, поскольку ключ доступен в вашем пакете, но это будет достаточно сложно, чтобы отпугнуть большинство обычных хакеров.
Не связан с StackOverflow