Vue3.x 前后端通信进行对所有请求和响应都进行AES加密(密文形式)附SHA1加密

无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了调用后端提供的接口来进行业务交互。网页或者app,只要抓下包就可以清楚的知道这个请求获取到的数据,这样的接口很容易造成数据泄露,爬虫工程师要抓你的数据简直轻而易举。
因为之前公司的接口没有进行加密处理,导致数据泄露,现被要求项目所有的交互与响应都变为密文。如下图实现效果。

代码

  • 安装crypto-js
npm install crypto-js
  • 在根目录下的src创建util文件夹、文件夹下aes.js与request.js 。在main.js里面配置引入request.js。
// aes.js文件为AES加密解密方法,代码如下
const CryptoJS = require('crypto-js') // 引用AES源码js
const Qs = require('qs')
const key = CryptoJS.enc.Utf8.parse('xxxxxxxxxxxxxxxx') // 十六位十六进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse('xxxxxxxxxxxxxxxx') // 十六位十六进制数作为密钥偏移量

// 解密方法 word 需要被加密的字符串
export function Decrypt(word) {
   
  let encryptedHexStr = CryptoJS.enc.Hex.parse(word)
  let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)
  let decrypt = CryptoJS.AES.decrypt(srcs, key, {
   
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  })
  let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)
  return decryptedStr.toString()
}

// 加密方法 word 需要被加密的字符串
export <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值