Слайд 8Шифрование с помощью DES
DES (англ. Data Encryption Standard) — алгоритм для симметричного
шифрования, разработанный фирмой IBM и утверждённый правительством США в 1977 году как официальный стандарт (FIPS 46-3). Размер блока для DES равен 64 битам. В основе алгоритма лежит сеть Фейстеля с 16 циклами (раундами) и ключом, имеющим длину 56 бит. Алгоритм использует комбинацию нелинейных (S-блоки) и линейных (перестановки E, IP, IP-1) преобразований
Досконально понимать механизм работы алгоритма не нужно, воспользуемся готовым кодом
const crypto = require('crypto');
const algorithm = 'des-ecb';
const password = 'some password'; // use a hex key here
const key = Buffer.from("d0e276d0144890d3", "hex");
const cipher = crypto.createCipheriv(algorithm, key, null);
let encrypted = cipher.update("Those are my principles, and if you don't like them... well, I have others.", 'utf8', 'hex');
encrypted += cipher.final('hex');
console.log("Encrypted: ", encrypted);
const decipher = crypto.createDecipheriv(algorithm, key, null);
let decrypted = decipher.update(encrypted, 'hex', 'utf8');
decrypted += decipher.final('utf8');
console.log("Decrypted: ", decrypted);