Как и где происходит шифрование в веб-приложении? - PullRequest
0 голосов
/ 21 ноября 2018

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

С другой стороны, когда используется HTTPS, данные будут зашифрованы и отправлены по проводам.В этом сценарии мы снова применяем какие-либо алгоритмы шифрования к входящим данным и затем сохраняем в базе данных?Также, пожалуйста, объясните, какие алгоритмы шифрования будут использоваться при передаче данных по HTTPS.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

В дополнение к ответу martinstoeckli:

Правило № 2: шифрование всегда будет вторым выбором.Если вы можете использовать хеширование, сделайте это.

HTTPS - это асинхронная криптография (закрытые + открытые ключи).Принцип заключается в том, что все, что зашифровано с использованием открытого ключа, может быть дешифровано только с помощью закрытого ключа, связанного с ним.

В нашем случае клиент будет использовать открытый ключ для шифрования данных.И сервер будет единственным, кто сможет расшифровать данные с помощью закрытого ключа.

Таким образом, вы получите открытый текст данных после того, как закрытый ключ выполнит свою работу.

На данный момент лучше всего (на мой взгляд) хешировать ( + соль + в конечном итоге перец ) и сохранять хэш в базе данных.

Когда пользователь, например, попытается войти в систему, используя свой пароль, сервер снова хэширует полученный открытый текст (очевидно, используя ту же соль / перец) и сравнивает его с паролем в базе данных.

если хеш точно такой же, как в базе данных, это означает, что пароль, введенный пользователем, правильный.

0 голосов
/ 22 ноября 2018

HTTPS шифрует трафик между клиентом и сервером, это предотвращает атаки ManInTheMiddle.С помощью HTTPS вы можете безопасно переносить пароль на сервер, для вас как для разработчика работа не требуется.

Сервер автоматически расшифрует пароль, ваше приложение получит пароль в виде простого текста.Ваша задача - использовать хэш пароля перед сохранением его в базе данных.Рекомендуемые хэши паролей: BCrypt, SCrypt, Argon2 и PBKDF2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...