- 论坛徽章:
- 0
|
- int nMoveBits;
- char challenge[32];
- long challengetime_new;
- int nMoveBits;
- long challengetime;
- if (get_reply(sock, buf) != 0) goto restart;
-
- len = Decode(buf + 4,challenge,strlen(buf) - 4);//解码
- challengetime = *((unsigned long*)(challenge + 6));
-
- challengetime |= ~0X1d8b3150;
- nMoveBits = challengetime % 30;
- challengetime_new = (challengetime << (32 - nMoveBits)) | ((challengetime >> nMoveBits) & ~(0xffffffff << (32 - nMoveBits)));
- unsigned char digest[16];
- hmac((unsigned char *)"zw2002", strlen("zw2002"), challenge, len, digest);//加密
- unsigned char temp[128];
- strcpy((char*)temp,"zw2002");
- strcat((char*)temp," ");
- len = strlen((const char *)temp);
- memcpy(temp + len,&challengetime_new,4);
- len += 4;
-
- memcpy(temp + len,&(clientinfo),4);
- len += 4;
- memcpy(temp + len,digest,16);
- len += 16;
- len = encode(temp,len,buf);//加密
- buf[len] = 0;
- strcat(buf,"\r\n");
- len += 2;
- LOGMSG("%s\n", buf);
- if (send_request(sock, buf) != 0) goto restart;
复制代码
在那里进行大小端转换?怎么去转换呢?
[ 本帖最后由 zw2002 于 2006-8-15 14:04 编辑 ] |
|