const crypto = require ('крипто');
функция encrypt (data, bit, mode, enc_key, iv) {
const cipher = crypto.createCipheriv ('aes -' + bit + '-' + mode, enc_key, iv);
пусть encrypted = cipher.update (data, 'utf8', 'base64');
зашифрованный + = cipher.final ('base64');
возврат зашифрован;
}
функция дешифрования (данные, бит, режим, enc_key, iv) {
const decipher = crypto.createDecipheriv ('aes -' + бит + '-' + режим, enc_key, iv);
пусть decrypted = decipher.update (data, 'base64', 'utf8');
расшифрованный + = decipher.final ();
возврат в расшифрованном виде;
}
// 256
// длина iv должна быть 8
let encrypted = encrypt ("asdfgh", "256", "cbc", Buffer.from ("5a1920bf80b6215560d3b5ad5499328w"), Buffer.from ("55d4a850c95af4fd"));
console.log (зашифрованный);
// 192
// длина iv должна быть 8
пусть encrypted192 = encrypt ("asdfgh", "192", "cbc", Buffer.from ("c72e7eb33ea11d99a57d5f3e"), Buffer.from ("55d4a850c95af4fd"));
console.log (encrypted192);
// 128
// длина iv должна быть 8
пусть encrypted128 = encrypt («asdfgh», «128», «cbc», Buffer.from («a18e5283b68c8d8e»), Buffer.from («55d4a850c95af4fd»));
console.log (зашифрованный128);
// 256
// длина iv должна быть 8
let decrypted = decrypt ("FMuIBKYrU6Md + GWtDLg8Kw ==", "256", "cbc", Buffer.from ("5a1920bf80b6215560d3b5ad5499328w"), Buffer.from ("55d4a850c95af4fd");
console.log (расшифрованный);
// 192
// длина iv должна быть 8
let decrypted192 = decrypt ("27Z4 + sKdu8nR6Irja5Z9LQ ==", "192", "cbc", Buffer.from ("c72e7eb33ea11d99a57d5f3e"), Buffer.from ("55d4a850c95af4fd"));
console.log (дешифровано192);
// 128
// длина iv должна быть 8
let decrypted128 = decrypt ("71z4F + sKrEVeZTH / wvHwvw ==", "128", "cbc", Buffer.from ("a18e5283b68c8d8e"), Buffer.from ("55d4a850c95af4fd"));
console.log (дешифрованный128);