swift: безопасен ли UserDefault для хранения имени пользователя и пароля? [Дубликат]

Я уверен, что вы не можете этого сделать. Вы должны иметь возможность переводить код C ++ непосредственно в класс C #, поэтому вам, по крайней мере, нужно будет реплицировать внутренние элементы векторного класса, чтобы правильно его расставить. Я также уверен, что вы не сможете перемещать ссылки через границу, вам придется использовать IntPtr (raw указатели). Подход, который я знаю, работает, чтобы маршировать необработанный массив структур.

16
задан Johnykutty 21 September 2012 в 07:43
поделиться

5 ответов

NSUserDefaults довольно прост в использовании и сохраняет одно значение только для ключа. Но, по-видимому, это не очень безопасный метод, поскольку шифрования нет.

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

http://log.scifihifi.com/post/55837387/simple-iphone-keychain-code

вы также можете использовать эту библиотеку, разработанную Саймоном

https://github.com/goosoftware/GSKeychain

Надеюсь, это поможет вам!

16
ответ дан Apple_iOS0304 16 August 2018 в 11:21
поделиться

Keychain - лучшее решение, потому что оно более безопасно, но в любом случае, если вы сохраните эту информацию в NSUserDefaults, ваши пользователи не будут чувствовать себя иначе. Если кто-то взломает их устройство, они могут получить информацию от Keychain, так же как они получат информацию от UserDefaults. Таким образом, этот вопрос безопасности является риторикой. Но в любом случае хороший стиль программирования заключается в том, чтобы сохранить эти данные в Keychain!

0
ответ дан Anatoliy Gatt 16 August 2018 в 11:21
поделиться

Я бы рекомендовал использовать брелки. Используя Keychain, вы можете сохранить свой пароль в зашифрованном виде. Взгляните на образец Apple GenericKeychain .

NSUserDefaults немного менее безопасен по сравнению с Keychain. В NSUserDefaults данные могут легко получить доступ, если известен конкретный ключ. Это не относится к Keychain.

Вы также можете преобразовать NSUserDefaults в Keychains. Посмотрите здесь .

0
ответ дан Community 16 August 2018 в 11:21
поделиться
  • 1
    В NSUserDefaults данные могут легко получить доступ, если известен конкретный ключ. Это не относится к Keychain . Что ты хочешь этим сказать? – Honey 7 December 2016 в 21:38

Все, что хранится в NSUserDefaults, может (относительно) легко открываться и считываться, будь то на устройстве или в (незашифрованном) резервном копировании iCloud или на Mac с синхронизацией.

Брелок, с другой стороны, предназначен для таких вещей, как сертификаты и пароли . Я связал статью под названием «Как не хранить пароли в iOS», которая также дает немного более полезную информацию.

6
ответ дан Michael Dautermann 16 August 2018 в 11:21
поделиться

Может быть полезно заметить, что данные Keychain будут сохраняться, даже если приложение будет удалено, но данные NSUserDefaults исчезнут с помощью приложения (NSUserDefaults является частью изолированной программной среды приложения, Keychain - независимой от приложения службой).

10
ответ дан Raspu 16 August 2018 в 11:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: