LoadRunner呼叫md5方法

2021-09-09 01:30:00 字數 2276 閱讀 5475

檢視( 958 ) /

評分( 0 / 0 )

有個專案的請求引數中,有乙個引數需要md5加密。在google搜尋了些lr呼叫md5方法的資料。參考資料實現了引數md5加密。現將方法做下總結:

1.首先將md5演算法在c編譯器中生成md5.**件,在vuser generator中新增這個md5.**件,然後再global.h中新增#include "md5.h"標頭檔案

2.呼叫md5方法:lr_output_message("%s",cmd5("test"))

---也可以將md5方法生成dll,然後在lr中呼叫這個dll。(此方法沒有嘗試過)

md5方法如下:

#ifndef md5_h

#define md5_h

#ifdef __alpha

typedef unsigned int uint32;

#else

typedef unsigned long uint32;

#endif

struct md5context ;

extern void md5init();

extern void md5update();

extern void md5final();

extern void md5transform();

typedef struct md5context md5_ctx;

#endif

#ifdef sgi

#define highfirst

#endif

#ifdef sun

#define highfirst

#endif

#ifndef highfirst

#define bytereverse(buf, len)    /* nothing */

#else

void bytereverse(buf, longs)unsigned char *buf; unsigned longs;

while (--longs);

}#endif

void md5init(ctx)struct md5context *ctx;

void md5update(ctx, buf, len) struct md5context *ctx; unsigned char *buf; unsigned len;

memcpy(p, buf, t);

bytereverse(ctx->in, 16);

md5transform(ctx->buf, (uint32 *) ctx->in);

buf += t;

len -= t;

}while (len >= 64)

memcpy(ctx->in, buf, len);

}void md5final(digest, ctx)

unsigned char digest[16]; struct md5context *ctx;

else

bytereverse(ctx->in, 14);

((uint32 *) ctx->in)[14] = ctx->bits[0];

((uint32 *) ctx->in)[15] = ctx->bits[1];

md5transform(ctx->buf, (uint32 *) ctx->in);

bytereverse((unsigned char *) ctx->buf, 4);

memcpy(digest, ctx->buf, 16);

memset(ctx, 0, sizeof(ctx));

}#define f1(x, y, z) (z ^ (x & (y ^ z)))

#define f2(x, y, z) f1(z, x, y)

#define f3(x, y, z) (x ^ y ^ z)

#define f4(x, y, z) (y ^ (x | ~z))

#define md5step(f, w, x, y, z, data, s) ( w += f(x, y, z) + data,  w = w<>(32-s),  w += x )

void md5transform(buf, in)

uint32 buf[4]; uint32 in[16];

char* cmd5(const char* s)

strcat(resstr,substr);

}strcat(resstr,"\0");

return resstr;

}

Loadrunner支援MD5加密指令碼的編寫

char orsignmd5 500 char orsignmd5str 32 char time str 20 char orsignmd5str dll 40 action lr output message 需要加密的字串為 s lr eval string lr start transact...

android 呼叫MD5演算法

public static string getstringmd5 string sourcestr string s null try messagedigest md messagedigest.getinstance md5 這兩行 的作用是 將bytes陣列轉換為biginterger型別。...

C 呼叫md5方法

md5簡介 md5的全稱是message digest algorithm 5,在90年代初由mit的電腦科學實驗室和rsa data security inc發明,經md2 md3和md4發展而來。md5將任意長度的 位元組串 變換成乙個128bit的大整數,並且它是乙個不可逆的字串變換演算法。換...