/////////////////////////////////////////////////////////////////////////////// // /// \file crc32.c /// \brief Primitive CRC32 calculation tool // // Author: Lasse Collin // // This file has been put into the public domain. // You can do whatever you want with this file. // /////////////////////////////////////////////////////////////////////////////// #include "sysdefs.h" #include "lzma.h" #include <stdio.h> int main(void) { uint32_t crc = 0; do { uint8_t buf[BUFSIZ]; const size_t size = fread(buf, 1, sizeof(buf), stdin); crc = lzma_crc32(buf, size, crc); } while (!ferror(stdin) && !feof(stdin)); //printf("%08" PRIX32 "\n", crc); // I want it little endian so it's easy to work with hex editor. printf("%02" PRIX32 " ", crc & 0xFF); printf("%02" PRIX32 " ", (crc >> 8) & 0xFF); printf("%02" PRIX32 " ", (crc >> 16) & 0xFF); printf("%02" PRIX32 " ", crc >> 24); printf("\n"); return 0; }