Учебник по Electron.js

Шифрование паролей

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