1、安装crypto-js
npm install crypto-js --save
2、封装加密解密函数,写入文件 3DES.ts 文件。这里示例用 utf8 字符集、 CBC 加密模式、Pkcs7 的填充方式、base64 的编码格式输出,此模式需要前后端共同约定密码和偏移量,两者需要完全一致。
import cryptoJs from 'crypto-js';
const _key = 'cmbdcrzapi1a2b3c4d5e6f7g'; // 密码
const _iv = '20240325'; // 偏移量
// 3DES 加密
export const encryptByDES = (dataStr, key=_key, iv=_iv) => {
const keyHex = cryptoJs.enc.Utf8.parse(key);
const encrypted = cryptoJs.TripleDES.encrypt(dataStr, keyHex, {
mode: cryptoJs.mode.CBC, // CBC模式
padding: cryptoJs.pad.Pkcs7, // pkcs7padding 填充方式
iv: cryptoJs.enc.Utf8.parse(iv), // 设置偏移量(若 ECB 模式则删除该行),CBC模式需设置iv偏移量
});
// return encrypted.ciphertext.toString(