Проверка пароля, зашифрованного с помощью bCrypt . Нужно ли отправлять пароль по проводам?

В настоящее время я использую bCrypt для шифрования паролей будущих пользователей в моем проекте.

Это выглядит очень мощно, но вот мое беспокойство -

  • На сайте создайте аккаунт. Сервер зашифрует ваш пароль и сохранит его хэш. test -> $2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u
  • Теперь, чтобы проверить свой пароль, вы просто проверьте возврат BCrypt.Net.BCrypt.Verify("test", "$2a$12$4PhCN62AmALB7e.Sv2w9w.AP/JZ28l.dZldU5iHyupY2w5wPz9o.u") чтобы обеспечить соответствие.

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

1 ответ

Решение

Вы можете предотвратить отправку незашифрованного пароля по сети, используя SSL (например, https). Пароль будет открытым текстом, но соединение будет безопасным, и только сервер и клиент смогут декодировать информацию в этом соединении.

Другие вопросы по тегам