一眼cksum |
这种问题不是第一次有人问了 如果刚好有人用过个这校验方法,那他可能就会知道 你说要是没用过..........你随便找个CRC校验的计算方法看一下,你觉得那是一般人能反推出来的? |
你说他可不可以自定义校验码 |
就是 全部加起来,取最后的8位。 0x4B+0x56+0x30+0x34+0x30+0x03 = 0x138 <---- 取最后8位 0x38 |
参考CRC校验: /// <summary> /// CRC校验 /// </summary> /// <param name="data">校验数据</param> /// <returns>高低8位</returns> public static byte[] CRCCalc(byte[] bytedata) { byte[] res = new byte[2]; byte[] crcbuf = bytedata.ToArray(); //计算并填写CRC校验码 int crc = 0xffff; int len = crcbuf.Length; for (int n = 0; n < len; n++) { byte i; crc = crc ^ crcbuf[n]; for (i = 0; i < 8; i++) { int TT; TT = crc & 1; crc = crc >> 1; crc = crc & 0x7fff; if (TT == 1) { crc = crc ^ 0xa001; } crc = crc & 0xffff; } } res[1] = (byte)((crc >> 8) & 0xff); res[0] = (byte)((crc & 0xff)); return res; } |
楼主可以指点一下哪些是数据,而哪些又是校验码呢? |