首页 > 系统相关 >BeanShell 如何加密加签?

BeanShell 如何加密加签?

时间:2024-03-06 16:23:17浏览次数:24  
标签:Map 加密 sign sortMap BeanShell entry sb 加签 append

一 首先我们要搞清楚接口签名步骤:

**第一步:初步实现接口**

**第二步:找开发拿到算法和key**

* key:sAHDRNJg0ZevmEn7HwBfbw== * 算法:HmacMD5 咱们就找一个https://www.wenjiangs.com/doc/85uwistv * 在JMeter当中,需要引入第三方的包才能支持HmacMD5

**第三步:问开发生成sign的逻辑**

* 对请求数据排序和去重

  Map sortMap = new TreeMap(); // 使用TreeMap排序   sortMap.putAll(map); // TreeMap默认升序排序

* 拼接成字符串

  StringBuilder sb = new StringBuilder();   for (Map.Entry entry : sortMap.entrySet()){   sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());   }

* 加密

* 以sign形式放入请求数据(请求体/请求头/URL)

* 其他知识   字符串json转json对象   Map map = JSON.parseObject(body);
  切割字符串   "sss".substring(1)

二核心代码:

``` import cn.hutool.crypto.digest.HMac; import com.alibaba.fastjson.JSON; import java.util.Map; import org.apache.jmeter.config.Arguments; // 获取响应数据 Arguments args = sampler.getArguments(); String body = args.getArgument(0).getValue(); log.info("==========body==========:" + body); // 把响应数据解析成JSON对象 Map map = JSON.parseObject(body); // 排序 Map sortMap = new TreeMap(); // 使用TrueeMap排序 sortMap.putAll(map); // TreeMap默认升序排序 // 拼接字符串 StringBuilder sb = new StringBuilder(); for (Map.Entry entry : sortMap.entrySet()){     sb.append("&").append(entry.getKey()).append("=").append(entry.getValue()); } log.info("============sb====: "+ sb.substring(1)); // sign签名 byte[] key = "sAHDRNJg0ZevmEn7HwBfbw==".getBytes(); HMac mac = new HMac("HmacMD5", key); String sign = mac.digestHex(sb.substring(1)); log.info("-------------------sign-------: " + sign); // 把sign保存到JMeter变量 vars.put("sign", sign) ```

三 实践效果:

 

 

标签:Map,加密,sign,sortMap,BeanShell,entry,sb,加签,append
From: https://www.cnblogs.com/yongheng999/p/18056863

相关文章

  • 企业文件加密对员工工作效率的影响有多大?
    企业文件加密是当前数据安全管理中的关键环节之一,通过将重要数据转换为特定格式,对未授权访问者而言,数据将无法阅读。然而,企业在实施文件加密措施的同时,也可能担心这会对员工的工作效率产生影响。那么,文件加密具体会对工作效率产生何种影响呢?我们需要明确的是,通过华企盾DSC数据防......
  • 5G NR 加密完保 3GPP 协议
     1.3GPP文档33401-h40_Securityarchitecture.doc33501-hc0_Securityarchitectureandproceduresfor5Gsystem.doc35215-h00_Specificationofthe3GPPconfidentialityandintegrityAlgorithmsUEA2&UIA2Document1UEA2andUIA2specifications.doc35216-h0......
  • 介绍一个很不错的 php 加密工具 - XLoad 扩展加密工具
    对于PHP开发者来说,代码安全变得越来越重要,选择一个可靠的加密工具是保护代码完全的关键。今天,我要向大家介绍一款非常出色的PHP加密工具-XLoad扩展加密工具。XLoad扩展加密工具是一款强大、安全、而易用的加密软件,它为PHP开发者提供了高效、安全的加密解决方案。这款工......
  • BeanShell 断言如何使用?
    一引入: 二BeanShell断言参数:作用类似于JMeter断言,ctx、vars、props、prev、log、SampleResult都和BeanShellSampler一样BeanShellAssertion特定的参数有:*Failure*FailureMessage*Response*RequestHeaders*SampleLabel*SamplerData**Failure:设置......
  • 同态加密+区块链,在大健康数据隐私保护中的应用
    PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。近几年,越来越多的隐私计算技术被用于解决临床和研究数据共享中的隐私和安全问题。当然,对这些技术的法律评估主要集中在合规性方面,尤其是在欧......
  • BeanShell PostProcessor 后置处理器1
    一概念:作用类似于后置处理器,其中的ctx、vars、props、prev、log都和BeanShellSampler一样一样![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote/fyfile/16194/1663307082040/f1a46708c4ae40229e892abaf6985a72.png)重点解释前面没有的:**data:......
  • BeanShell PostProcessor 后置处理器
    一主要作用:   BeanShellPostProcessor主要用来提取响应数据,对数据做处理分析的。二概念:  作用类似于后置处理器,其中的ctx、vars、props、prev、log都和BeanShellSampler一样一样  ![image.png](https://fynotefile.oss-cn-zhangjiakou.aliyuncs.com/fynote......
  • Python模块之 Crypto 实现加密与解密
    模块作用简介:Python模块之Crypto实现加密与解密官方英文帮助:https://docs.python.org/3/library/官方简体中文帮助:https://docs.python.org/zh-cn/3/library/必要操作:>>>importCrypto安装:>>>pipinstallpycryptodome导入包:>>>fromCrypto.Cipher......
  • 加密算法(三级等保)
    常见的加密算法对称加密算法DES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6和AES非对称加密算法RSA、ECC(移动设备用)、Diffie-Hellman、ElGamal、DSA(数字签名用)Hash算法MD2、MD4、MD5、HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1块加密概念块加密,英文BlockCyper......
  • 编译opencapwap 编译环境加密库openssl版本调整
    1、删除原来版本:sudoapt-getremovelibssl1.0-devlibssl-dev删除链接:删除/bin/openssl2、下载版本wget--no-check-certificatehttps://www.openssl.org/source/old/1.0.0/openssl-1.0.0.tar.gz解压安装:tar-xzvf./openssl-OpenSSL_1_0_2t.tar.gzcdopenssl-OpenSSL......