Jmeter MD5加密及其运用
常用的几种加密方式
内置函数__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随机生成,接口调用成功。
Jmeter MD5加密及其运用的更多相关文章
- Jmeter Md5加密操作之-------BeanShell PreProcessor
背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码的jar包,commons-codec-1.10.jar(网上很多),下载后,放 ...
- jmeter md5加密请求参数
实际的接口测试过程中,再发生http之前有可能需要对某些参数(或某几个参数的组合)进行md5加密 在jmeter中可通过两种方式来实现md5加密 beanshell实现md5加密 在org.apach ...
- JMeter MD5加密 默认小写 转换为大写
出处:https://www.cnblogs.com/scholars-xian/p/11718854.html 使用内置函数加密 1)使用 ${__MD5(123,)} 进行MD5加密(32位小写) ...
- jmeter MD5加密
MD5.jar已经上传到博客园的文件中 第一步 添加变量${Qpassword} 第二步 调用MD5加密 import hehe.Str2MD5;String res = new Str2MD5() ...
- Jmeter实现MD5加密
Jmeter3.0以后的版本不再内置MD5加密函数,只能自己写了. 1.编码 package com.liuke.test; import java.security.MessageDigest; i ...
- jmeter完成md5加密的接口请求参数
第一种方法: 这种方法比较简单,jmeter内置了一个md5的函数,可以直接使用.其中参数username是用户名,正常填写,password是密码经过md5加密 第二种方法: 需要有一定的编程技术, ...
- Jmeter(十九) Md5加密操作之-------BeanShell PreProcessor(转载)
转载自 http://www.cnblogs.com/yangxia-test 背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码 ...
- Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密
package md5package; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; ...
- jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密
前提: eclipse.JDK.Jmeter 说明: 本文分为两部分进行配置说明 第一部分:编写JavaMD5加密脚本 第二部分:使用Jmeter的BeanShell进行验证 ************ ...
- Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密
[前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加 ...
随机推荐
- ue全家桶进阶之路30:Vue3定义组件和常用指令
要定义 Vue 3 组件,你可以使用 Vue 3 提供的 defineComponent 函数. 例如,以下是一个简单的 Vue 3 组件定义: import { defineComponent } ...
- Visual Studio2019打开电脑摄像头
#include<iostream> //opencv头文件 #include<opencv2/opencv.hpp> using namespace std; using n ...
- Python基础 - 第一个python程序
Python程序是什么? Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑器软件做python的开发,python的文件扩展名为 .py 执行python程序的三种方式 直接调用解释 ...
- Nodejs 应用编译构建提速建议
编译构建的整体过程 拉取编译镜像 拉取缓存镜像 拉取项目源码 挂载缓存目录 执行编译命令(用户自定义) 持久化缓存 上传编译镜像 为什么在本地构建就快, 但编译机上很慢 在编辑机上每次的构建环境都是全 ...
- 4、数据库:MySQL部署 - 系统部署系列文章
MySQL数据库在其它博文中有介绍,包括学习规划系列.今天就讲讲MySQL的部署事情. 一.先下载MySQL数据库: 到下面这个网址去下载数据库,这里下载的社区版: https://dev.mysql ...
- Rust 内存系统
第四章 内存系统 不同的编程语言对内存有着不同的管理方式. 按照内存的管理方式可将编程语言大致分为两类: 手动管理类 手动内存管理类需要开发者使用malloc和free等函数显式管理内存. 自动内存管 ...
- NOIP模拟测试A3 赛后总结
T1 谜之阶乘 可以发现题目要求我们求的实际上是若干个连续整数 \(c_i\) ,使得 \(\displaystyle \prod c_i = n\),通过打表可以发现这些连续整数的长度 \(d\) ...
- 浅谈 thinkphp composer 扩展包加载原理
浅谈 thinkphp composer 扩展包加载原理 本文将介绍 ThinkPHP 中 Composer 扩展包的加载原理,帮助读者更好地理解和应用该功能. 前言 如题,今天感觉好久没有更新博客了 ...
- Cronjob 定时任务
Job: 负责处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个Pod成功结束. CronJob: 则就是在Job上加上了时间调度. 我们用Job这个资源对象来创建一个任务,我们定一个Job来 ...
- 前端vue自定义table 表格 表格组件 Excel组件
快速实现vue uni-app自定义table 表格 表格组件 Excel组件,扩充性好,可切换四宫格 九宫格 十二宫格; 下载完整代码请访问uni-app插件市场地址:https://ext.dcl ...