Loadrunner怎么实现MD5加密

在做性能测试的时候,有些对于服务器的请求还需要根据约定对某个字符串进行加密,然后发送请求的时候带上加密串,才可以请求成功。用的比较多的就是MD5加密了,那Loadrunner怎么实现MD5加密呢?

Loadrunner MD5加密的实现

Loadrunner本身是没有MD5的加密方法的,所以需要我们自己实现MD5加密。

这里有两种方式实现,一种是编写dll的方式,一种是写MD5.h文件的方式,这里主要讲MD5.h的方式实现方法。

1、写一个md5.h文件,将其放入脚本路径下

由于内容太长就不贴了,需要文件的小伙伴可以自行下载:

链接: https://pan.baidu.com/s/1wrRcgDCbpICiv5a4K1bGfw 提取码: bedw

2、在globals.h中加入#include “md5.h”

//------------------------------------------------------------

// Include Files

#include "lrun.h"

#include "web_api.h"

#include "lrw_custom_body.h"

#include "MD5.h"

//------------------------------------------------------------

// Global Variables

3、在Action中写脚本,脚本示例如下:

示例1:

Action()

{
    char s[10]="hello";
    char sign[32];
    int i;

    strcat(sign,CMd5(s));
    lr_output_message("sign值为:%s",sign);
    return 0;
}

示例2:

Action()

{
   int i;
   char sign[32];
   char s[10]=”hello”;
   memset(sign, 0x00, sizeof (char) * 256);
   lr_save_string(lr_eval_string("{chnlUsrId}"),"chnlUsrId");
   lr_save_string(lr_eval_string("0AFB83650B{Rand_2}{Rand_3}{Rand_4}"),"id");
   web_save_timestamp_param("timestamp",LAST);

   //字符串拼接
   sprintf(s,"%s_%s_xxx.xxxxxx.com",lr_eval_string("{chnlUsrId}"),lr_eval_string("{timestamp}"),lr_eval_string("{id}"));
   lr_output_message("拼接完成的字符串s:%s",s);
   //字符串加密
   strcat(sign,CMd5(s));
   lr_output_message("加密完成后的sign值:%s",sign);
   //将小写的加密串转换成大写
   for(i = 0;i < sizeof(sign);i++){
        sign[i] = toupper(sign[i]);
    }
   lr_output_message("转换成大写的sign值:%s",sign);
   //将加密串存入参数sign
   lr_save_string(sign,"sign");
   return 0;
}



留言