前端使用3DES加密

TS && JS版本
npm install --save @types/crypto-js
npm install crypto-js

import CryptoJS from 'crypto-js';

/**
 * 3DES 加密
 * iv: --后端提供偏移量
 * KEY: --密码 后端提供
 * mode: CBC --加密方式 需要iv
 */
const KEY = CryptoJS.enc.Utf8.parse('E6A84**************AB011570F2');
const iv = CryptoJS.enc.Utf8.parse('A****K');

export const AES_Encrypt = (plaintext: any) => {
  let decryptedStr = CryptoJS.TripleDES.encrypt(plaintext, KEY, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  return decryptedStr.ciphertext.toString();
};


/**
* 解密
*/

export const AES_Decrypt = function (message: any) {
  let key = KEY;
  let iv = CryptoJS.enc.Utf8.parse('ASDFGHJK');
  let base64 = CryptoJS.enc.Hex.parse(message);
  let src = CryptoJS.enc.Base64.stringify(base64);
  let decrypt = CryptoJS.TripleDES.decrypt(src, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  const decryptedData = decrypt.toString(CryptoJS.enc.Utf8);
  return decryptedData;
};

  

posted @ 2022-07-26 14:52  小万子呀  阅读(709)  评论(0编辑  收藏  举报