Vue3利用crypto-js的AES对数据加密以及Nodejs解密

前言

        尝试对进行网络传输的某些数据进行加密,防止敏感信息在数据传输过程中被恶意拦截或窃取。

使用 yarn 安装

yarn add crypto-js

使用 npm 安装

npm install crypto-js

如何使用?

注意:

encrypt(参数1,参数2),

参数1:要加密的数据,

参数2:密钥,密钥需与后端解密的密钥一致

前端:
  • 若要加密的是纯文本
import CryptoJS from 'crypto-js';

const name = ref('csdn');

const encryptText = CryptoJS.AES.encrypt(name, 'secret key').toString();
  • 若要加密的是对象(我现在的需求就是,下面有栗子)
import CryptoJS from 'crypto-js';    

const encryptedData = CryptoJS.AES.encrypt(JSON.stringify(把要加密对象放这里), 'secret key').toString();

后端:(Node.js)
  • 若要解密的是纯文本 
const CryptoJS = require('crypto-js');

const decryptedBytes = CryptoJS.AES.decrypt(我这个位置写要解密的数据, 'secret key');
const decryptedData= decryptedBytes.toString(CryptoJS.enc.Utf8);
  • 若要解密的是对象
const CryptoJS = require('crypto-js');

const decryptedBytes = CryptoJS.AES.decrypt(要解密的数据, 'secret key');
console.log(decryptedBytes, '===decryptedBytes');
const decryptedData = JSON.parse(decryptedBytes.toString(CryptoJS.enc.Utf8));
console.log(decryptedData, '***decryptedData');