@ber_enot
Веб-разработчик, Vue.js / Node.js

Как реализовать доступ к API из приложения c# .Net?

Есть веб-сервис с API, есть приложение на c#.
Необходимо реализовать аутентификацию (на основе пары логин-пароль).
При отправке формы, пароль должен захешироваться (чтобы не передавать в открытом виде), и вот тут у меня возник вопрос: как?

1. Нужно ли использовать соль, или достаточно просто взять хеш (и почему именно так)?
2. Если используем соль, как ее скрыть от посторонних глаз? Приложение запросто декомпилируется, злоумышленник получает соль и алгоритм.
3. Как избежать атаки man-in-the-middle ? Ведь даже HTTPS не защищает от этой атаки.

Возможно, здесь нужно не просто хеширование, а полноценное шифрование?

Подскажите, пожалуйста, корректный алгоритм.
  • Вопрос задан
  • 1169 просмотров
Решения вопроса 2
@Beltoev
Живу в своё удовольствие
Шифровать однозначно. Статья по теме: habrahabr.ru/post/144282

Для защиты алгоритма шифрования (хотя, даже если злоумышленник будет знать алгоритм шифрования, это ему мало что даст без закрытого ключа) можно библиотеку с алгоритмом реализовать на компилируемом в бинарный код языке (тот же С++). Но это в том случае, если не найдете готовых решений (коих много в сети).
Ответ написан
Комментировать
Neuroware
@Neuroware
Программист в свободное от работы время
в чем проблема использовать шифрование? Смотрите в сторона ассиметричных алгоритмов, там шифрование идет одним ключем (который зашит в приложение) а дешифрация идет другим, который известен только веб сервису, даже если ктото сможет перехватить данные он с ними ничего с делать не сможет без ключа, которого нет в приложении и декомпиляция ничем не поможет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы