Это так же безопасно, как оставить свой мотоцикл разблокированным в Амстердаме, Нидерланды, рядом с Центральным железнодорожным вокзалом. (Моргни, и все прошло!)
Если вы пытаетесь повысить безопасность своего приложения, вы обречены на провал с самого начала, так как любая схема защиты потерпит неудачу. Все, что вы можете сделать, это усложнить хакеру поиск нужной ему информации. Еще несколько хитростей:
*) Убедитесь, что в вашем двоичном файле строка хранится как UTF-16.
*) Добавление чисел и специальных символов в строку.
*) Используйте массив 32-битных целых вместо строки! Преобразуйте каждый в строку и объедините их все.
*) Используйте GUID, сохраните его как двоичный файл и преобразуйте в используемую строку.
И если вам действительно нужен какой-то заранее определенный текст, зашифруйте его и сохраните зашифрованное значение в вашем двоичном файле. Расшифруйте его во время выполнения, где ключ дешифрования является одним из вариантов, которые я упоминал ранее.
Поймите, что хакеры будут взламывать ваше приложение другими способами, кроме этого. Даже специалист по криптографии не сможет сохранить что-то в безопасности. В общем, единственная вещь, которая защищает вас, это прибыль, которую хакер может получить от взлома вашего кода, по сравнению со стоимостью взлома. (Эти затраты часто занимают много времени, но если для взлома вашего приложения потребуется неделя и всего 2 дня для взлома чего-то другого, скорее всего, что-то еще будет атаковано.)
Ответ на комментарий:
UTF-16 будет составлять два байта на символ, поэтому его сложнее распознать пользователям, которые смотрят на дамп двоичного файла, просто потому, что между каждой буквой есть дополнительный байт. Вы все еще можете увидеть слова, хотя. UTF-32 будет даже лучше, потому что он добавляет больше места между буквами. Опять же, вы также можете немного сжать текст, изменив схему на 6 бит на символ. Каждые 4 символа будут затем сжаты до трех чисел. Но это ограничит вас 2х26 буквами, 10 цифрами и, возможно, пробелом и точкой, чтобы получить 64 символа.
Использование GUID целесообразно, если вы храните GUID в двоичном формате, а не в текстовом формате. GUID имеет длину 16 байтов и может генерироваться случайным образом. Таким образом, трудно угадать GUID, который используется в качестве пароля. Но если вам все еще нужно отправить простой текст, GUID может быть преобразован в строковое представление, например, «3F2504E0-4F89-11D3-9A0C-0305E82C3301». (Или Base64, закодированный как «7QDBkvCA1 + B9K / U0vrQx1A ==».) Но пользователи не увидят в коде простой текст, только некоторые явно случайные данные.
Однако не все байты в GUID являются случайными. В GUID скрыт номер версии. Однако использование GUID - не лучший вариант для криптографических целей. Он либо рассчитывается на основе вашего MAC-адреса, либо по псевдослучайному числу, что делает его достаточно предсказуемым. Тем не менее, его легко создавать и хранить, конвертировать и использовать. Создание чего-то более длинного не добавляет ценности, так как хакер просто попытается найти другие приемы взлома безопасности. Вопрос лишь в том, насколько они готовы тратить больше времени на анализ двоичных файлов.
В общем, самое важное, что обеспечивает безопасность ваших приложений, - это количество людей, которые заинтересованы в этом. Если никто не заботится о вашем приложении, то никто не потрудится взломать его. Когда вы пользуетесь популярностью среди 500 миллионов пользователей, ваше приложение будет взломано в течение часа.