crypto-js进行AES加解密

最近做react项目用到AES加解密,使用到了crypto-js这个库,但在网上找了不少相关帖子,花样百出,没几个是对的。折腾了很久才搞定,在此记录一下。

const CryptoJS = require("crypto-js");
//aes加密
export function aesEncrypt(data, secretKey) {
  const result = CryptoJS.AES.encrypt(data, CryptoJS.enc.Utf8.parse(secretKey), {
    iv: CryptoJS.enc.Utf8.parse("偏移量"),
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return result.toString();
}

//aes解密
export function aesDecrypt(cipher, secretKey) {
  const decrypted = CryptoJS.AES.decrypt(cipher, CryptoJS.enc.Utf8.parse(secretKey), { 
    iv: CryptoJS.enc.Utf8.parse('偏移量'),
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  });
  return CryptoJS.enc.Utf8.stringify(decrypted);
}

你可能感兴趣的:(开发小笔记)