vue前后端aes url传参解密再解base64编码

本文介绍了解密URL中AES加密并Base64编码的参数的方法。首先安装并引入CryptoJS库,接着从URL获取加密参数,并使用指定的密钥进行解密。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:我们公司做机票订购服务,有自己的平台的订单,也有第三方网站向我们网站导入的用户订单,第三方导入的是通过url传参的方式导入。url会携带用户的相关信息。

url里面的参数是经过aes加密和base64编码的,因此要取出里面的数据是要解密和解码的。

方案:

第一步:

安装要依赖的js,   npm install --save_dev crypto-js    然后在组件中将其引入。

代码:

import CryptoJS from 'crypto-js'

截图

第二步:

安装要依赖的js

获取url中要取的参数,因为是url传参,所以我们要在初始化create时进行取值,

代码:

 var ddl = this.$route.query.channel
      var word = this.$route.query.info;

截图:

 

第三步:

写相应的业务js代码

获取url中要取的参数,因为是url传参,所以我们要在初始化create时进行取值,

代码:

result就是最终解码后的参数。注意:asdfghjklzxcvbnm是后端给的密钥。

 /*解密*/
      function decrypt(word) {
        var key = CryptoJS.enc.Utf8.parse("asdfghjklzxcvbnm");
        var restoreBase64 = word.replace(/\-/g, '+').replace(/_/g, '/');
        // 这里 mode, padding, iv 一定要跟加密的时候完全一样
        // 返回的是一个解密后的对象
        var decipher = CryptoJS.AES.decrypt(restoreBase64, key, {
          mode: CryptoJS.mode.ECB,
          padding: CryptoJS.pad.Pkcs7,
          iv: '',
        });
        // 将解密对象转换成 UTF8 的字符串
        var resultDecipher = CryptoJS.enc.Utf8.stringify(decipher);
        // 返回解密结果
        return resultDecipher;
      }
      var result = decrypt(word);

截图:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值