您的位置:首页 > Web前端 > Node.js

基于Node.js的AES加密

2018-01-25 20:34 323 查看

文本加密

const crypto = require('crypto');
function aesEncrypt(data,key,iv){
let cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
return cipher.update(data, 'utf8', 'hex')+cipher.final('hex');
}
function aesDecrypt(crypted,key,iv){
let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
return decipher.update(crypted, 'hex', 'utf8')+decipher.final('utf8');
}
let key = '1234567891234567';
let iv = '1234567891234567';
let text = 'hello world';
let enc = aesEncrypt(text,key,iv);
console.log(aesDecrypt(enc,key,iv));


文件加密

const crypto = require('crypto');
const fs = require('fs');
let key = '1234567891234567';
let iv = '1234567891234567';
let path = __dirname+'/files/blockchain-cat.pdf';
let enPath = __dirname+'/encrypt/blockchain-cat.pdf';
let dePath = __dirname+'/decrypt/blockchain-cat.pdf';

function aesEncryptNew(buff,key,iv){
let cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
return cipher.update(buff,'','hex')+cipher.final('hex');
}
function aesDecryptNew(buff,key,iv){
let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
return decipher.update(buff,'','hex')+decipher.final('hex');
}

let buff = fs.readFileSync(path);
let buffEnc = aesEncryptNew(buff,key,iv);
fs.writeFileSync(enPath,new Buffer(buffEnc,'hex'));

hexContent = fs.readFileSync(enPath);
let deHex = aesDecryptNew(hexContent,key,iv);
fs.writeFileSync(dePath,new Buffer(deHex,'hex'));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: