1.下载或者自己编写编译md5.dll文件,放在lr脚本目录(加载时只需要加载文件),放在其他目录,加载时需要加载文件的绝对路径。
2.char utctime[20];
char *hostname;
typedef long time_t;
char *strmd5[100];
char *strmd5value[100];
time_t t;
char *name = "ouyang";
char str[100]="";
Action()
{
//获取hostname
hostname = lr_get_host_name();
//获取本地时并赋值给间utctime
sprintf(utctime,"%d",time(t));
lr_output_message("name is:%s",name);
//拼接姓名
str = strcpy(str,name);
//拼接时间
strcat(str,utctime);
//拼接主机名
strcat(str,hostname);
lr_output_message("string:%s",str);
//加密密码赋值到strpassword中
md5(lr_eval_string(str),strmd5);
//把strpassword转换成
字符串赋值给passwordvalue
sprintf(strmd5value,"%s",strmd5);
//lr_save_string((char*)md5(lr_eval_string("{password}")),"strpassword");
//打印加密后的字符
lr_output_message("加密后的字符:%s",strmd5value);
return 0;
}
报错提示Action.c (21): operands f = have illegal types `array 100 of char' and `int'
Action.c (21): lvalue required
解决办法:str = strcpy(str,name);去掉str=
办法原因:str是地址不能直接赋值,应该用*str;获取去掉str=,直接用strcpy
函数,因为strcpy函数已经做了赋值操作了。