![]() |
一眼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; } |
樓主可以指點一下哪些是數據,而哪些又是校驗碼呢? |