public override byte[] Hash(byte[] buffer) { uint c = 0xffffffff; // 0x04C11DB7 for (int i = 0, n = buffer.Length; i < n; i++) { c = _crctab[((int)c ^ buffer[i]) & 0xff] ^ (c >> 8); } c ^= 0xffffffff; return(c.BinaryCast().Reverse().ToArray()); }