apiFox加密解密脚本

这段代码展示了如何使用CryptoJS库进行加密和解密操作,主要涉及AES算法、Base64编码、SHA1签名以及处理POST和GET请求中的参数。在加密过程中,数据首先被转换为JSON字符串,然后使用公钥加密;解密时,使用相同的公钥对响应数据进行解密。
摘要由CSDN通过智能技术生成

加密脚本

var param = {};
if(pm.request.method === 'GET'){
    param = pm.request.url.query;
}else if(pm.request.method === 'POST'){
    param = pm.request.body;
}
if(param === null || param === undefined){
    param = {};
}
var cryptoJs = require("crypto-js");
var publicKey = '';
var signKey = '';
publicKey = cryptoJs.enc.Base64.parse(publicKey);

var encryptedData = cryptoJs.AES.encrypt(JSON.stringify(param), publicKey, {mode: cryptoJs.mode.ECB,padding: cryptoJs.pad.Pkcs7,length: 128}).toString();

var timestamp = _.now();

var sign = cryptoJs.SHA1(encryptedData + timestamp + signKey).toString();

var requestParam = {'encryptedData':encryptedData,'sign':sign,'timestamp':timestamp};
if(pm.request.method === 'GET'){
    pm.request.url.query = requestParam;
}else if(pm.request.method === 'POST'){
    pm.request.body = requestParam;
}

解密脚本

if(pm.response.code == 201){
    var cryptoJs = require("crypto-js");
    console.log(cryptoJs);
    var publicKey = '';
    var signKey = '';
    publicKey = cryptoJs.enc.Base64.parse(publicKey);
    var data = cryptoJs.AES.decrypt(pm.response.json(), publicKey, {mode: cryptoJs.mode.ECB,padding: cryptoJs.pad.Pkcs7,length: 128});
    var tmpdata = data.toString(cryptoJs.enc.Utf8);
    pm.response.json() = JSON.parse(data.toString(cryptoJs.enc.Utf8));
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值