Jmeter的几种常见加密方式及其应用(图)

测试工具 创建于:2022-06-12
 
 常用的几种加密方式
  内置函数__MD5加密


  参数说明:   String to calculate MD5 hash(必填):要加密的字符串。   Name of variable in which to store the result (optional):存储结果的变量的名称。   1、使用${__MD5(13300001111,phone)}进行MD5加密,加密结果为32位小写。   2、使用${__uppercase(,)}可以将加密结果转为大写,例如:${__uppercase(${__MD5(13300001111,phone)},)}。

  
内置函数__digest加密


  参数说明:   Digest algorithm(必填):加密算法,支持:MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512。   String to be hashed(必填):需要加密的字符串。   Salt to be used for hashing (optional):用于加密的盐。   Upper case result, defaults to false (optional):大写结果,默认为false。   Name of variable in which to store the result (optional):存储结果的变量的名称。   使用实例:${__digest(MD5,13300001111,,true,)},对字符串进行MD5加密,并将加密结果转为大写。

  
内置DigestUtils方法加密   在
Jmeter中添加BeanShell Sampler,使用如下代码进行加密。 // md5 import org.apache.commons.codec.digest.DigestUtils; 

String str = "${token}" + "${appkey}" + "${data}"; String sign = DigestUtils.md5Hex(str); log.info("加密后的标签为:" + sign);

vars.put("sign",sign);

// sha256 import org.apache.commons.codec.digest.DigestUtils;

String keytoSign = "需要进行加密的字符串"; String sign = DigestUtils.sha256Hex(keytoSign); log.info("加密结果为:"+sign);

vars.put("sign",sign);


  使用Python脚本进行加密   在Jmeter中添加JSR223 Sampler,语言选择Python,代码如下: import hashlib

str = "13300001111" m = hashlib.md5() b = str.encode(encoding='utf-8') m.update(b) str_md5 = m.hexdigest() str_md5 = str_md5.upper()

vars.put("phone",str_md5)

  需要注意的是,JSR223 Sampler只支持Python2,不支持Python3。

  
实际运用   工作场景:现有一个接口,需要调用10000笔,入参中的CELL_PHONE_HASH不能重复。这里选择Jmeter内置的DigestUtils方法来编写脚本代码。 import org.apache.commons.codec.digest.DigestUtils;

String str = "15510${__Random(10000,20000,)}6"; String phone = DigestUtils.md5Hex(str); vars.put("md5_phone",phone.toUpperCase());

log.info("CELL_PHONE的值为:" + str); log.info("CELL_PHONE加密后的值为:" + phone);

  在接口入参中CELL_PHONE_HASH引用该变量,保存脚本然后运行。


  通过Debug Sampler可以看到
手机号MD5随机生成,接口调用成功。


  
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理

权威发布,测试选择不纠结!第15届软件测试行业报告,直击行业发展,把握未来方向!

原文地址:http://www.51testing.com/?action-viewnews-itemid-6657843

免责声明:本文来源于互联网,版权归合法拥有者所有,如有侵权请公众号联系管理员

* 本站提供的一些文章、资料是供学习研究之用,如用于商业用途,请购买正版。

发表于:2022-5-27 09:25 作者:EdisonYao 来源:博客园