protected static uint GetCRC32(byte[] data, int startOffset, int length) { uint crc = 0xffffffff; for (int i = 0; i < length; i++) crc = _crcTable[(crc ^ data[startOffset + i]) & 0xff] ^ (crc >> 8); return crc ^ 0xffffffff; }