-
-
[原创]第一阶段第三题
-
发表于:
2010-10-23 14:09
5303
-
3. 如题目挑战失败,但提供了解题思路及分析过程,也可酌情得分。
由于时间与水平关系,估计是提交不了注册机,这里先提交个分析过程,酌情混点分数;
1.检测长度是否为35;
2.检查第8个,第17个,第26个字节是否为2D,即整个序列号格式为xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx;
3.检查序列号中所有的字符是否都在"ABCDEFGHJKMNPQRSTVWXYZ1234567890"范围内;
4.按8个字节为单位按照为序列号串中的字符在指定字符串"ABCDEFGHJKMNPQRSTVWXYZ1234567890"中出现的位置算特征值;
unsigned char crc[5];
unsigned char position[8];
crc[0] = (position[0] << 3) | ( position[1] >> 2);
crc[1] = (position[1] << 6) | (position[2] << 1) | (position[3] >> 4);
crc[2] = (position[3] << 4) | (position[4] >> 1);
crc[3] = (position[4] << 7) | (position[6] << 2) | (position[6] >> 3);
crc[4] = (position[6] << 5) | (position[7]);
5.按输入的name + c盘卷序列号+ Tencent字符算出特征,然后比与序列号算的特征比较,相等则注册成功;
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课