源码解析
//md5加密用户密码
UtlMd5_t ctx;
unsigned char serverDigest[16];
utl_md5_init(&ctx);
//md5初始化
utl_md5_update(&ctx, "admin", strlen("admin"));
//将要加密的信息传递给初始化过的MD5结构体,无返回值
//穿账号
utl_md5_update(&ctx, "debug_get_vs_status", strlen("debug_get_vs_status"));
//传控制指令
utl_md5_update(&ctx, "admin123", strlen("admin123"));
//传密码
utl_md5_final(&ctx, serverDigest);
//转换成32位的16进制字符串
int i=0;
unsigned char decrypt32[64]={0};
char temp[8]={0};
for(i=0;i<16;i++)
{
sprintf(temp,"%02x",serverDigest[i]);//把十六进制转换成字符串%x=0x6b ==> %s="6b"
strcat((char *)decrypt32,temp);
}
//最后生成的decrypt32即为md5加密密码:"6be7c69c5cdf177753270cf390ef1e90"
//成功发送
/*
Content-Length: 133
Content-Type: application/json;charset=utf-8
Connection: close
{
"method": "debug_get_vs_status",
"param": {
},
"user": {
"name": "admin",
"digest": "6be7c69c5cdf177753270cf390ef1e90"
}
} 发送成功 长度 251!
响应报文头部:
*******************************
HTTP/1.1 200 OK
Content-Length: 1640
Content-Type: application/json;charset=utf-8
Connection: close
*/
源码下载
点这点这~~