U32 CRC32File(U8 *filename) { I64 i, j, size; U64 crc = 0xFFFFFFFF; U8 *buf = FileRead(filename, &size); if (!buf) return 0; for (i = 0; i < size; i++) { crc ^= buf[i]; for (j = 0; j < 8; j++) { if (crc & 1) crc = (crc >> 1) ^ 0xEDB88320; else crc >>= 1; } } crc = crc ^ 0xFFFFFFFF; "%d %d %s\n",crc,size,filename; Free(buf); return crc; } // Print("%08X\n", Crc32File("MyFile.BIN"));