檢視( 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的大整數,並且它是乙個不可逆的字串變換演算法。換...