前端使用AES加密传递敏感参数

1.安装CryptoJS用于引入加密组件

npm install crypto-js --save

 2.引入CryptoJS组件

import CryptoJS from "crypto-js";

 3.在前端代码中创建函数将传递的参数进行加密

// 传递参数加密
encrypt(data) {
  const key = "ox7sfuca1fFWChPm";
  // 偏移量 16位(不可随意修改,否则前后端加密解密可能失败)
  const iv = "9TwEzDNLybzfjEsp";
  return CryptoJS.AES.encrypt(
    CryptoJS.enc.Utf8.parse(data),
    CryptoJS.enc.Utf8.parse(key),
    {
      iv: CryptoJS.enc.Utf8.parse(iv),
      mode: CryptoJS.mode.CBC,// 选择不同的模式有对应的加密方式
      padding: CryptoJS.pad.Pkcs7,
    }
  ).toString();
},

 其中CBC加密方式需要使用到偏移量,不同的偏移量会得到不同的秘文。ECB加密方式中的偏移量对秘文没有影响(不同的偏移量有同样的秘文)。

mode: CryptoJS.mode.CBC
mode: CryptoJS.mode.ECB

最后将向后端传递的参数作为encrypt函数的参数进行返回,得到最后加密过后的秘文。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值