npm i crypto-js --save
加密和解密的方式要对应,比如都是Base64、CBC、Pkcs7
const CryptoJS = require('crypto-js'); //引入crypto-js
var str = JSON.stringify({ a: 1, b: 2 })
var key = 'o9oSSaSHMp7KD9S485vx5oThWKKR7vVsCXAl26xBz9w='
var iv = 'eNj80+KlpPMLlEFiZZZfFQ=='
// 加密
let encrypted = CryptoJS.AES.encrypt(str, CryptoJS.enc.Base64.parse(key), {
iv: CryptoJS.enc.Base64.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var ciphertext = encrypted.toString()
console.log('------text------------', ciphertext)
// 解密
let decryptResult = CryptoJS.AES.decrypt(ciphertext, CryptoJS.enc.Base64.parse(key), {
iv: CryptoJS.enc.Base64.parse(iv),
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
var resultStr = decryptResult.toString(CryptoJS.enc.Utf8)
console.log('---------result----------', JSON.parse(resultStr))