Для шифрования пароля можно использовать функцию createHash(<Алгоритм>[, <Опции>]) из модуля crypto. Инструкция импорта:
const crypto = require('crypto');Получим список поддерживаемых алгоритмов:
console.log( crypto.getHashes() );
// ["md4", "md5", "ripemd160", "sha1", "sha224",
// "sha256", "sha384", "sha512"]Функция createHash() возвращает объект Hash, который содержит метод update(<Данные>[, <Кодировка>]). Метод update() можно вызвать несколько раз, например, если данные поступают частями. Получить итоговый хеш позволяет метод digest('hex').
При нажатии кнопки получим содержимое текстового поля и зашифруем его значение алгоритмами MD5 и SHA256:
document.getElementById('btn1').addEventListener('click', () => {
let txt1 = document.getElementById('txt1');
let result = document.getElementById('result');
if (txt1.value === '') {
result.innerHTML = 'Не заполнено поле';
return;
}
let md5 = crypto.createHash('md5')
.update(txt1.value, 'utf8').digest('hex');
let sha256 = crypto.createHash('sha256')
.update(txt1.value, 'utf8').digest('hex');
result.innerHTML = `md5: ${md5}<br>sha256: ${sha256}`;
});Результат при вводе текста пароль:
md5: e242f36f4f95f12966da8fa2efd59992
sha256: 2dbc574daca52689a24fb60e835f8c19a36400830df7350859dd32d1abaaec5d