postman以及Jmeter加密

postman以及Jmeter加密

  • MD5加密

    postman-MD5加密
    Pre-request Script 编辑:

	var ass= CryptoJS.MD5("加密内容").toString(); //将内容加密后转化为字符串,结果为32位小写
	var ass= CryptoJS.MD5("加密内容").toString().toUpperCase();//将加密后的转化为字符串,结果为32位大写
	console.log(ass);

jmeter-MD5加密:
方法一:

	${_digest(MD5,加密内容,,,)}

方法二:
1.添加前置处理器-BeanShellPreProcess
2.关键内容:

	import org.apache.commons.codec.digest.DigestUtils;
	String reqSign= DigestUtils.md5Hex(str).toUpperCase();
  • HMAC-SHA256加密:

    要求:加密后16进制
    secretKey:密钥
    reqContent: 加密内容
    python加密:

	reqsign = hmac.new(secretkey.encode('utf-8'),reqcontent.encode('utf-8'), hashlib.sha256).hexdigest()

postman加密:
Pre-request Script 编辑关键内容:

	var reqSign=(CryptoJS.HmacSHA256(reqContent,secretKey)).toString() // 加密 转化为字符串
	var has16 =reqSign.toString(CryptoJS.enc.Hex) // 转化为16进制

jmeter加密:
1.JSR预处理程序-选择java脚本
2.关键内容:

	import javax.crypto.Mac;
	import javax.crypto.spec.SecretKeySpec;
	import java.nio.charset.StandardCharsets;
	import java.security.InvalidKeyException;
	import java.security.NoSuchAlgorithmException;
	import org.apache.jmeter.config.*; 
	
	// 签名
	try {
	  Mac mac = Mac.getInstance("HmacSHA256");
	  SecretKeySpec secretKeySpec = new SecretKeySpec(secretKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
	  mac.init(secretKeySpec);
	  byte[] array = mac.doFinal(reqContent.getBytes(StandardCharsets.UTF_8));
	  StringBuilder sb = new StringBuilder();
	  for (byte item : array) {
	      sb.append(Integer.toHexString((item & 0xFF) | 0x100).substring(1, 3));
	  }
	  reqSign = sb.toString();
	} catch (Exception e) {
	  e.printStackTrace();
	  reqSign = "Exception";
	}
  • 其他内容;
  1. .toLowerCase() java内将字符串转化为小写
  2. .toUpperCase() java内将字符串转化为大写

猜你喜欢

转载自blog.csdn.net/qq_21102235/article/details/123871966