Jmeter内置函数使用之调用摘要函数(digest)进行加密

1、打开函数助手路径:Jmeter5.0以上版本,内置的函数会更多,建议使用最新版本的jmeter。在【工具】中打开【函数助手】,这里可以生成可供jmeter调用的函数,其实如果熟悉了函数的入参和格式,要调用时直接手动写也行。

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第1张图片

2、下面针对摘要算法函数(也叫Hash算法函数或散列算法函数)进行介绍:

(1)以下是关于__digest函数的官方解释:Apache JMeter - 用户使用手册:函数和变量

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第2张图片

翻译成中文:Jmeter内置函数使用之调用摘要函数(digest)进行加密_第3张图片

(2)个人的理解和解释:

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第4张图片

 (3)Jmeter调用MD5函数进行加密的使用实战:调用函数${__digest(MD5,填需加密的字符串,,,)}

如下图所示:该接口加密的字符串,进行了复杂的拼接(类似加盐):Apiid+Timestamp+参数内容拼串+apisecret

由于这个加密后的摘要信息后面没有调用到,故没有填入变量名

填入的加密字符串中,含有调用时间函数${__time()},这是一个生成毫秒级时间戳的函数

还调用了jmeter上面配置元件中定义的变量${params}

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第5张图片

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第6张图片Jmeter内置函数使用之调用摘要函数(digest)进行加密_第7张图片

注意:填入的字符串内容不能含有英文逗号,因为函数内部参数就是用逗号隔开的,如果填入的字符串有逗号,会被函数识别为不同的参数,最后导致加密不了。

下图是填入带逗号的字符串时,调用函数报错,最后加密不了的情况: 

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第8张图片 

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第9张图片

如果遇到要加密的字符串中带逗号,解决方法有两个:

方法一:先定义一个变量,把相关带逗号的字符串填入变量的值中,如下图所示:

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第10张图片

方法二:使用转义符【斜杠\】,如下图所示:

Jmeter内置函数使用之调用摘要函数(digest)进行加密_第11张图片 

3、关于加密函数的分类说明和讲解,可以查看本人整理编写的另一篇文章:

关于加密技术分类的说明(密码学基础)_Jarthong的博客-CSDN博客

 注意点:严格上说,MD5等摘要算法不是加密算法,不能用于加密(因为无法通过摘要反推明文),只能用于防篡改,但是它的单向计算特性决定了可以在不存储明文口令的情况下验证用户口令。(由于其单向运算,具有一定的不可逆性,所以成为加密算法中的一个构成部分,完整的加密机制不能仅依赖 HASH 算法。)

 

你可能感兴趣的:(jmeter,jmeter,MD5,jmeter调用加密函数,digest,哈希函数算法)