基于Node.js的AES加密

释放双眼,带上耳机,听听看~!

文本加密


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1const crypto = require('crypto');
2function aesEncrypt(data,key,iv){
3    let cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
4  return cipher.update(data, 'utf8', 'hex')+cipher.final('hex');
5}
6function aesDecrypt(crypted,key,iv){
7    let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
8  return decipher.update(crypted, 'hex', 'utf8')+decipher.final('utf8');
9}
10let key = '1234567891234567';
11let iv = '1234567891234567';
12let text = 'hello world';
13let enc = aesEncrypt(text,key,iv);
14console.log(aesDecrypt(enc,key,iv));
15

文件加密


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
1const crypto = require('crypto');
2const fs = require('fs');
3let key = '1234567891234567';
4let iv = '1234567891234567';
5let path = __dirname+'/files/blockchain-cat.pdf';
6let enPath = __dirname+'/encrypt/blockchain-cat.pdf';
7let dePath = __dirname+'/decrypt/blockchain-cat.pdf';
8
9function aesEncryptNew(buff,key,iv){
10  let cipher = crypto.createCipheriv('aes-128-cbc', key, iv);
11  return cipher.update(buff,'','hex')+cipher.final('hex');
12}
13function aesDecryptNew(buff,key,iv){
14  let decipher = crypto.createDecipheriv('aes-128-cbc', key, iv);
15  return decipher.update(buff,'','hex')+decipher.final('hex');
16}
17
18let buff = fs.readFileSync(path);
19let buffEnc = aesEncryptNew(buff,key,iv);
20fs.writeFileSync(enPath,new Buffer(buffEnc,'hex'));
21
22hexContent = fs.readFileSync(enPath);
23let deHex = aesDecryptNew(hexContent,key,iv);
24fs.writeFileSync(dePath,new Buffer(deHex,'hex'));
25

给TA打赏
共{{data.count}}人
人已打赏
安全技术

c# 实现MD5,SHA1,SHA256,SHA512等常用加密算法

2021-8-18 16:36:11

安全技术

C++ 高性能服务器网络框架设计细节

2022-1-11 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索