能力值:
( LV4,RANK:50 )
|
-
-
2 楼
#include <stdio.h>
#include <ctype.h>
#include <time.h>
#include <stdlib.h>
int __stdcall myCRC(unsigned char * chBuf)
{
int out = 0;
for ( int i = 0; i < 8; ++i )
{
if ( isalpha(chBuf[i]) )
out = (out<<4) + chBuf[i] - 55;
else
out = (out<<4) + chBuf[i] - 48;
}
return out;
}
unsigned char* __stdcall myValue(unsigned int ival, unsigned char* outbuf, int rann = 30)
{
int out = 0, i = 0;
int tival = ival;
for (i=8; i>0; i--)
{
unsigned int tmpval = tival + 55;
unsigned char tv = (tmpval&0xF);
tmpval = tmpval>>4;
tv = tv + (((tmpval&0xF)-rann)<<4);
if (isalpha(tv))
{
outbuf[i-1] = tv;
}
else
{
outbuf[i-1] = tv - 7;
}
tival = (tival+55-outbuf[i-1])>>4;
}
if ( ival != myCRC(outbuf) )
{
// 如果不行,换一个key
return myValue(ival, outbuf, rann+1);
}
return outbuf;
}
int main(int argc, char* argv[])
{
unsigned char buf[8] = {0};
srand(time(NULL));
for (int i=0; i<999999; i++)
{
for (int j=0; j<8; j++)
{
buf[j] = rand()&0xFF;
}
int vv = myCRC(buf);
myValue(vv, buf);
if (myCRC(buf) != vv)
{
printf("No OK!\n");
}
}
return 0;
}
|
能力值:
(RANK:110 )
|
-
-
3 楼
感谢大牛!
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
479K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6e0t1I4K9h3y4Q4x3X3g2U0L8$3#2Q4x3V1k6@1L8$3!0D9M7#2)9J5c8V1S2G2N6q4N6o6x3#2)9#2k6W2j5I4i4K6u0W2x3e0q4Q4x3X3g2Z5N6r3#2D9
HotWC3最大的特点是有可逆运算!!!
很少见有可逆的CRC运算器。
|
|
|