То, что делается на стороне клиента, на самом деле не контролируется вами.Я имею в виду, что даже если вы хешируете свой пароль, клиент может получить пароль до хеширования / шифрования.
var password = document.getElementById('login').value;
console.log(password); // It is as simple as it
//hash password...
Приведенный выше простой пример объяснения позволяет клиенту получить пароль следующим образом:или кто-то другой может получить его с помощью XSS атаки.Вы должны сделать все возможное, чтобы защитить своих клиентов от XSS, но тогда вы не сможете контролировать то, что происходит на стороне клиента.
Если вы боитесь, что это - Человек посередине (MITM) атака, самое важное - использовать сертификат TLS с правильным алгоритмом (это зависит от версии вашего сервера OpenSSL).
Короче говоря, использование HTTPS - это то, что вы должны сделать, чтобы защитить своих клиентов от атаки MITM..
Так что, по моему мнению, не требуется хешировать / шифровать пароль перед его отправкой.