About PIN For Win - nowind/sx_pi GitHub Wiki

很多人问win版本的PIN是如何计算出了。

这边给出代码。不过这个PIN是不需要算的。每次发一样的就可以了

void calc_hb_pin(char *output)
{
MD5_CTX md5;
int i=0;
byte	afterMD5[16];
char    str_md5[50];
char *(str_array[3])={"wanglei","zhangni","wangtianyou"};
unsigned int tc=GetTickCount();
char tc_str[30]={0};
sprintf(tc_str,"%08x",tc);
//strcat(tc_str,str_array[tc/3]);
    strcat(tc_str,str_array[tc%3]);
MD5Init(&md5);
MD5Update (&md5, (unsigned char *)tc_str, strlen(tc_str));
MD5Final (afterMD5, &md5);
for (i=0;i<16;i++)
{
	sprintf(str_md5+i*2,"%02x",afterMD5[i]);
}
memcpy(output,tc_str,2);
memcpy(output+2,str_md5,4);
memcpy(output+6,tc_str+2,2);
memcpy(output+8,str_md5+4,16);
memcpy(output+24,tc_str+4,2);
memcpy(output+26,str_md5+20,6);
memcpy(output+32,tc_str+6,2);
memcpy(output+34,str_md5+26,6);
output[40]=0;
}