2013-10-28 2 views
1

Мне нужно зашифровать NSString перед отправкой в ​​WebAPI. Каковы наилучшие методы для этого? Я смотрел разные статьи, но не нашел того, что искал. Весь хеш/соль с датой выглядит как лучший подход на момент написания этой статьи. Кто-нибудь знает, как это сделать в iOS? Затем я просто храню его в БД как varchar (50)? И для последующих логинов просто сравнить текст? Спасибо всем.iOS: Шифровать пароль для входа в API

ответ

2
  1. Зашифровать и аутентифицировать подключение к серверу с помощью HTTPS. Это противодействует подслушиванию и атакам MITM. Обязательно проверяйте сертификаты сервера на стороне клиента.

  2. На сервере хэш-пароль со случайно генерируемой солью.

  3. Храните хэш и соль в базе данных. Да, вы можете использовать что-то вроде text или varchar(50) для хранения хэша и соли.

Это было покрыто в несколько других вопросов, прежде чем: см Best way to store password in database

+0

Я предпочел бы хэш его в прошивкой перед отправкой на сервер и просто хранить на стороне сервера. Сервер может просто сравнить хэшированные попытки входа в систему pw. Может быть, есть пример кода для шифрования в iOS? –

+0

@Beau: Если вы это сделаете, компрометация базы данных будет означать, что все учетные записи пользователей будут немедленно скомпрометированы, без работы злоумышленника. –

+0

Это не имеет смысла ... как это так? если он хэширован перед отправкой, а затем хранится хешированный .. как злоумышленник получает pw «без работы»? Он уже хэширован, поэтому он хранится таким же образом, если его хешированная сторона сервера или клиентская сторона ... –

Смежные вопросы