Защита конфиденциальной информации в исходном коде Objective C

Если у меня есть переменная пароля, используемая для удаленной аутентификации SSL, безопасно ли хранить ее в исходном коде?

например

NSString * password = @"password"; 

Есть ли лучший способ?

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

Мой новый ответ:

Старайтесь не использовать статические пароли для доступа к исходному периоду. Что произойдет, если кто-то, кого вы не хотите, определяет, что это за пароль. Почему бы не использовать имена пользователей и пароли?

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

Мой оригинальный ответ:

Похоже, вы хотите познакомиться с брелок.

Вот учебник, в котором говорится об этом:

http://maniacdev.com/2011/07/tutorial-how-to-use-the-ios-keychain-to-store-names-and-passwords/

И вот связанный с этим вопрос, который говорит о безопасности Keychain под iOS .

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

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

Я рекомендую вам взглянуть на аналогичный вопрос ( насколько безопасна информация, содержащаяся в iPhone App, скомпилированном коде ), и, в частности, мой ответ на этот вопрос, для более подробного объяснения того, что я имею в виду. (Комментарий Нимрода по этому вопросу также интересен.)

НЕТ!

создайте свое приложение. Перейдите к терминалу и введите strings а затем перетащите свой исполняемый файл в терминал и нажмите return … Вы увидите свой секретный пароль в виде обычного текста 🙂

Вы должны сохранить свой хэш.

  • Время отображения индикатора активности Alert View
  • Камера XCode 6 Table View, работающая от экрана
  • Утечка памяти: инструменты против сеанса отладки Xcode
  • Центрирование элементов в файле Xib
  • Не требуется импортировать MapKit.framework?
  • Самый простой способ переименовать обработчик событий в Xcode?
  • Как создать живую статическую библиотеку для armv6, armv7 и i386
  • Как установить автоматическое отключение для нескольких динамических кнопок и Labels в iOS?
  • UIImage в UITableViewCell изменяет размер при выборе строки и при возврате из толкаемого представления
  • не удалось загрузить libXcodeDebuggerSupport.dylib, потому что изображение не найдено
  • Передайте данные из ViewController в Viewcontroller, который теперь является частью TabBarController
  • Interesting Posts

    performSegueWithIdentifier: приводит к сбою приложения

    IOS для нескольких сертификатов разработчика для одного входа / одного Apple ID / One Development Machine

    ios-sim launch Error = ExecutableTwiddleFailed, ErrorDescription = Ошибка в файле chmod-Нет такого файла или каталога

    Может ли член команды Apple экспортировать из xCode для распространения iOS?

    Есть ли способ найти измененную высоту / ширину изображения внутри UIImageView с помощью набора AspectFit?

    Передача данных Bluegiga BLE112 с Windows на устройства ios

    Почему не мой рисунок UIGraphicsImageRenderer (iOS 10)?

    MPMoviePlayerController оставляет приложение в неправильной ориентации после полноэкранного режима

    jailbroken iOS: как резюме (на переднем плане) из фона

    $ T7 ?? не имеет члена «Генератор» в Swift

    CustomTabBarController не отвечает на обратные вызовы делегатов

    Получение только одного значения при добавлении NSString в NSArray

    Зарегистрироваться + пароль подтверждения iOS

    IOS – как записать файл в сетевой ресурс?

    Запретить роутинг iOS6 для композитора электронной почты

    Давайте будем гением компьютера.