(PNG) ublic static class Crc32
(???)
(???) public static uint HashToUInt32(byte[] source)
(???) {
(???) const uint polynomial = 0xEDB88320; // ISO-HDLC
(???) var crc = 0b11111111_11111111_11111111_11111111;
(???) foreach (var b in source)
(???) {
(???) crc ^= b;
(???) for (var bit = 0; bit < 8; bit++)
(???) {
(???) var lsb = crc & 1;
(???) var mask = lsb * polynomial;
(???) crc = (crc >> 1) ^ mask;
(???) }
(???) }
(???) return crc ^ 0b11111111_11111111_11111111_11111111;
(???) }
(???)