Обеспечение xml plists в Какао / Objective C

C++ 03 стандарта добавили формулировку, чтобы прояснить, что векторные элементы должны быть непрерывными.

C++ 03 23.2.4 Абзаца 1 содержат следующий язык, который является не в C++ 98 стандартных документов:

элементы vector хранятся непрерывно, означая, что, если v vector, где T некоторый тип кроме bool, тогда он повинуется идентификационным данным &v[n] == &v[0] + n для всего 0 <= n < v.size().

переговоры Herb Sutter об этом изменении в одной из его записей в блоге, Съеживаются нет: Векторы, как гарантируют, будут непрерывны :

... смежность является на самом деле частью векторной абстракции. It’s, столь важный, на самом деле, что, когда это было обнаружено, что C++ 98 стандартов didn’t полностью гарантирует смежность, C++, 03 стандарта были исправлены для явного добавления гарантии.

15
задан RunLoop 23 September 2009 в 10:49
поделиться

1 ответ

В plist нет встроенной функции шифрования. Многие люди рассматривают сжатие как шифрование.

Вот что я сделал бы:

  1. Составил ключ шифрования.
  2. написал небольшую программу для шифрования списка в двоичный файл, используя SecKeyEncrypt () .
  3. Поместите двоичный файл в пакет.
  4. В приложении спрячьте где-нибудь ключ. Например, сохраните их как части, чтобы их было нелегко найти в дампе.
  5. Когда вы запускаете приложение, прочтите двоичный файл из пакета, расшифруйте его с помощью SecKeyDecrypt () с помощью ключа и сохраните открытый текст в памяти.
  6. Открытый текст является списком и загружает список из памяти.

Это все еще считается запутывающим, потому что ключ доступен в вашем пакете, но его будет достаточно сложно удержать от большинства случайных хакеров.

16
ответ дан 1 December 2019 в 04:17
поделиться