前端 AES-128 加密解密CryptoJS

import CryptoJS from 'crypto-js'

/**

 * AES-128加密(需要先加载文件)

 * @param keyHex 长度为16,进行过MD5加密

 * @param content json对象需要转化成json字符串

 * @returns {*}

 */

export function aesEncrypt(content, key){

  const keyHex = key ? CryptoJS.enc.Utf8.parse(key) : CryptoJS.enc.Utf8.parse('D034FAF5309799E5')

  const message = typeof content === 'string' ? content : JSON.stringify(content)

  const srcs = CryptoJS.enc.Utf8.parse(message);

  const encrypted = CryptoJS.AES.encrypt(srcs, keyHex, {

    mode:CryptoJS.mode.ECB,

    padding: CryptoJS.pad.Pkcs7

  });

  return encrypted.toString();

}



/**

* 解密

* @param content

* @returns {*}

*/

export function aesDecrypt(content, key){

  const keyHex = key ? CryptoJS.enc.Utf8.parse(key) : CryptoJS.enc.Utf8.parse('D034FAF5309799E5')

  const decrypt = CryptoJS.AES.decrypt(content, keyHex, {

    mode:CryptoJS.mode.ECB,

    padding: CryptoJS.pad.Pkcs7

  });

  return CryptoJS.enc.Utf8.stringify(decrypt).toString();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值