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

需求:我们公司做机票订购服务,有自己的平台的订单,也有第三方网站向我们网站导入的用户订单,第三方导入的是通过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);

截图:

猜你喜欢

转载自blog.csdn.net/weixin_39818813/article/details/82426520
今日推荐