Apifox 请求时进行参数加密

Apifox 请求时进行参数加密

前置操作的细节直接看下面的帮助文档,这里不在阐述

Apifox 帮助文档

前置加密帮助文档

前置操作代码

下面是 官方登录案例的


var cryptoJs = require("crypto-js");
const password2 = pm.request.body.formdata.get("password2")
const key = cryptoJs.enc.Utf8.parse('******');
const iv = cryptoJs.enc.Utf8.parse('******');
const encrypted = cryptoJs.AES.encrypt(password2, key, {
   iv: iv,
   mode: cryptoJs.mode.CBC,
   padding: cryptoJs.pad.Pkcs7
});
console.log(encrypted.tostring())
pm.environment.set('password', encrypted.tostring());

下面是我自己的 前置加密代码可以参考。

//获取body的json参数 
const body = pm.request.body.raw
console.log(pm.request.body.raw)
//获取环境变量中的token
const token= pm.environment.get("token");
console.log(token)
//md5加密
const md5Key= CryptoJS.MD5(token).toString();
// 加密请求体
const key = CryptoJS.enc.Utf8.parse(md5Key);
const iv = CryptoJS.enc.Utf8.parse(md5Key.slice(0, 16));
const src = CryptoJS.enc.Utf8.parse(body);
const encrypted = CryptoJS.AES.encrypt(src, key, {
        iv: iv,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7,
    });
const encryptData = CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
pm.request.body.raw = encryptData
console.log(encryptData)

java 参考上面的加解密代码

  • java使用Hutool工具包仿照加密代码
public class SecureUtil {
    public static String encrypt(String token, String content) {
        String key= DigestUtil.md5Hex(token);
        String iv = StringUtils.substring(key, 0, 16);
        AES aes = new AES("CBC", "PKCS7Padding",
                // 密钥,可以自定义
                key.getBytes(),
                // iv加盐,按照实际需求添加
                iv.getBytes()

        );
        // 使用Base64编码加密后的密文
        return aes.encryptBase64(content);
    }
    public static String decrypt(String token, String content) {
        String key= DigestUtil.md5Hex(token);
        String iv = StringUtils.substring(key, 0, 16);
        AES aes = new AES("CBC", "PKCS7Padding",
                // 密钥,可以自定义
                key.getBytes(),
                // iv加盐,按照实际需求添加
                iv.getBytes()

        );
        return aes.decryptStr(content);
    }
}

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值