Для шифрования пароля можно использовать функцию 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