文本加密
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 |