常用的几种加密方式

内置函数__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加密及其运用的更多相关文章

  1. Jmeter Md5加密操作之-------BeanShell PreProcessor

    背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码的jar包,commons-codec-1.10.jar(网上很多),下载后,放 ...

  2. jmeter md5加密请求参数

    实际的接口测试过程中,再发生http之前有可能需要对某些参数(或某几个参数的组合)进行md5加密 在jmeter中可通过两种方式来实现md5加密 beanshell实现md5加密 在org.apach ...

  3. JMeter MD5加密 默认小写 转换为大写

    出处:https://www.cnblogs.com/scholars-xian/p/11718854.html 使用内置函数加密 1)使用 ${__MD5(123,)} 进行MD5加密(32位小写) ...

  4. jmeter MD5加密

    MD5.jar已经上传到博客园的文件中 第一步  添加变量${Qpassword} 第二步 调用MD5加密 import hehe.Str2MD5;String res = new Str2MD5() ...

  5. Jmeter实现MD5加密

    Jmeter3.0以后的版本不再内置MD5加密函数,只能自己写了. 1.编码 package com.liuke.test; import java.security.MessageDigest; i ...

  6. jmeter完成md5加密的接口请求参数

    第一种方法: 这种方法比较简单,jmeter内置了一个md5的函数,可以直接使用.其中参数username是用户名,正常填写,password是密码经过md5加密 第二种方法: 需要有一定的编程技术, ...

  7. Jmeter(十九) Md5加密操作之-------BeanShell PreProcessor(转载)

    转载自 http://www.cnblogs.com/yangxia-test 背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码 ...

  8. Java语言编写MD5加密方法,Jmeter如何给字符串MD5加密

    package md5package; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; ...

  9. jmeter用BeanShell调用jar包对HTTP请求中的参数进行MD5加密

    前提: eclipse.JDK.Jmeter 说明: 本文分为两部分进行配置说明 第一部分:编写JavaMD5加密脚本 第二部分:使用Jmeter的BeanShell进行验证 ************ ...

  10. Jmeter用BeanShell Sampler调用java写的jar包进行MD5加密

    [前言] 在工作中,有时候我们请求的参数可能需要加密,比如登录接口中的密码做了加密操作,今天我就给大家介绍一种方法:Jmeter用BeanShell Sampler调用java写的jar包进行MD5加 ...

随机推荐

  1. 【Python笔记】第二章Python基本图形绘制

    嗨你好,我是AllenMi, 这是我学习北京理工大学的<Python语言程序设计>第二章笔记. 写笔记的目的一方面在于记录自己一步一步学习Python的内容, 另一方面也希望能够帮助到他人 ...

  2. WC2021及学长分享题目

    部分题目见洛谷题单 动态更新. 标 * 为想做的题. hdhd: CF1214G Feeling Good CF1305F Kuroni and the Punishment AGC016F Game ...

  3. R 语言关于 SSL 证书异常处理笔记

    一.关于 TCGAbiolinks TCGAbiolinks 是一个用于 TCGA 数据综合分析的 R/BioConductor 软件包,能够通过 GDC Application Programmin ...

  4. 解决log4j:WARN No appenders could be found for logger (org.apache.ibatis.logging.LogFactory). log4j:WARN Please initialize the log4j system properly.警告

    1. 问题分析 使用log4j时不起作用,因为找不到配置文件log4j.properties,存在的问题可能是没有配置log4j.properties文件,也可能是配置文件log4j.properti ...

  5. P1585 魔法阵 题解

    题意: 题目传送门 可以看做一个人手中有一些宝石,并将宝石分成两组,一组的编号为 1 至 n×m/2,二组为 n×m/2+1 至 n×m+1.当两组两个宝石编号相差为 n×m/2 为一对.现在要遍历一 ...

  6. golang 实现四层负载均衡

    大家好,我是蓝胖子,做开发的同学应该经常听到过负载均衡的概念,今天我们就来实现一个乞丐版的四层负载均衡,并用它对mysql进行负载均衡测试,通过本篇你可以了解到零拷贝的应用,四层负载均衡的本质以及实践 ...

  7. 微信小程序 - WXML 模板语法

    [黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(含uni-app项目多端部署)] https://www.bilibili.com/video/BV1834y1676 ...

  8. Python潮流周刊#10:Twitter 的强敌 Threads 是用 Python 开发的!

    你好,我是猫哥.这里每周分享优质的 Python 及通用技术内容,大部分为英文,已在小标题注明.(标题取自其中一则分享,不代表全部内容都是该主题,特此声明.) 首发于我的博客:https://pyth ...

  9. 使用docker构建可动态启动的FreeSWITCH实例

    操作系统 :CentOS 7.6_x64 FreeSWITCH版本 :1.10.9 Docker版本:23.0.6   使用docker打包FreeSWITCH可以极大简化部署环节,但针对高可用场景的 ...

  10. MASA Blazor中MSwitch如何实现二次确认

    <MSwitch @bind-Value="switch" Readonly OnClick="OnClick"> </MSwitch> ...