Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "crc32.h"
- static const unsigned int crc32tab[16] = {
- 0x00000000, 0x1db71064, 0x3b6e20c8, 0x26d930ac, 0x76dc4190,
- 0x6b6b51f4, 0x4db26158, 0x5005713c, 0xedb88320, 0xf00f9344,
- 0xd6d6a3e8, 0xcb61b38c, 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278,
- 0xbdbdf21c
- };
- unsigned int crc32(const void *data, unsigned int length)
- {
- const unsigned char *buf = (const unsigned char *)data;
- unsigned int crc = 0xffffffff;
- unsigned int i;
- if (length == 0) return 0;
- for (i = 0; i < length; ++i)
- {
- crc ^= buf[i];
- crc = crc32tab[crc & 0x0f] ^ (crc >> 4);
- crc = crc32tab[crc & 0x0f] ^ (crc >> 4);
- }
- return crc ^ 0xffffffff;
- }sa
Advertisement
Add Comment
Please, Sign In to add comment