本文用的加密规则
算法:AES
模式:ECB
密钥:自己填
补码方式:PKCS5Padding/PKCS7Padding
初始向量:ECB 模式不需要
加密结果编码方式:Hex
复制可用的代码
const CryptoJS = require('crypto-js');const key = '1234567812345678'; // 密钥,根据实际项目修改// 加密。word字段是传入要加密的信息exports.encrypt = (word, keyStr) => {keyStr = keyStr ? keyStr : key;let key = CryptoJS.enc.Utf8.parse(keyStr);let srcs = CryptoJS.enc.Utf8.parse(word);let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode: CryptoJS.mode.ECB, // ECB模式padding: CryptoJS.pad.Pkcs7, // 补码方式:PKCS5Padding和PKCS7Padding是一样的});var hexStr = encrypted.ciphertext.toString().toUpperCase(); // 输出Hexreturn hexStr;}// 解密exports.decrypt = (word, keyStr) => {keyStr = keyStr ? keyStr : key;let key = CryptoJS.enc.Utf8.parse(keyStr);let encryptedHexStr = CryptoJS.enc.Hex.parse(word);let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);let decrypt = CryptoJS.AES.decrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);return decryptedStr.toString();}
