Проверка пароля, зашифрованного с помощью 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). Пароль будет открытым текстом, но соединение будет безопасным, и только сервер и клиент смогут декодировать информацию в этом соединении.