Пишу для самообразования чат на Node.js. Для хеширования паролей пользователей, как на сервере, так и на клиенте, использую
https://www.npmjs.com/package/crypto-js
Алгоритм такой:
Пользователь вводит логин и пароль и жмет войти
Шифруем пароль на клиенте например так:
<script type="text/javascript" src="path-to/bower_components/crypto-js/crypto-js.js"></script>
<script type="text/javascript">
var password = $('#pass').val();
var encrypted = CryptoJS.SHA512(password );
// .. шлем пароль и логин на сервер
</script>
На сервере сравниваем с хэшем из БД
И т. д.
Это же неправильно? Или забить и слать по старинке, а на сервере хешировать и сравнивать?