У меня есть пароли моего сайта, хешированные функцией mysql password(). Я предпочел бы хэш-пароль для входа на телефон перед тем, как поместить его в URL-адрес для доступа к серверу. Я тоже предпочел бы хранить его по телефону. Я вижу, что у кого-то есть функция для md5. Есть ли это для этого?
привет и спасибо.
Хотя я не видел реализаций Objective C MySQL PASSWORD(), вы можете рассмотреть альтернативный механизм. Например, если вы пытаетесь скрыть пароль, вы можете сделать что-то вроде XOR на нем с помощью известного или вычисленного значения. Не высокая безопасность, но несколько защищает его. Лучшим подходом может быть использование симметричного алгоритма шифрования ключей и шифрование его на стороне клиента (iPhone) и расшифровка его на стороне сервера. Вы можете использовать стандартные, такие как 3DES, AES, Blowfish и т.д. Для этого. Снова должен быть определен общий секрет, но тогда сервер сможет вызвать PASSWORD() для дешифрованного значения, чтобы получить хэш для проверки.
Использование HTTPS также будет хорошим соображением, независимо от того, какое решение вы используете.
Короткий ответ: вы не должны использовать функцию MySQL PASSWORD() в своем приложении.
Пол прав - при защите от атак типа "человек-в-середине" у вас есть два варианта:
Protip: номер 2 - единственная надежная вещь.
это покрывает md5 на iphone. Использование хеша MD5 для строки в cocoa?