CRC32 Checksum ieee 802.3
Compute the CRC-32 checksum of text in hex and decimal, for corruption checks and duplicate detection.
What this tool does
CRC32 produces a 32-bit value from the remainder of a polynomial division, written as eight hexadecimal characters. This tool uses the IEEE 802.3 polynomial, the same one used by Ethernet, ZIP, PNG, and gzip.
CRC is an error-detecting code rather than a cryptographic hash. Its purpose is to catch bits that flip during transmission or storage, and it detects burst errors with very high probability. Computation is a simple table lookup and XOR, which makes it fast in software and easy to implement in hardware.
It offers no protection against deliberate manipulation, because constructing data that yields a chosen CRC value is mathematically straightforward. That makes it appropriate for asking whether a file was corrupted, and inappropriate for asking whether a file was tampered with.
When to use it
Use it to check the checksum recorded in an archive or image, to build a fast key for narrowing down duplicate candidates among many strings, to validate a checksum routine while implementing a protocol, or to confirm data survived a transfer intact.
Input and output examples
hello
3610a686 (decimal 907060870)
Always expressed as eight hexadecimal characters.
hello world
0d4a1185
A small input change alters the value completely; leading zeros are kept to preserve eight digits.
Notes and limitations
CRC32 must not be used for security verification. Data can be crafted to produce a specific CRC, so it cannot prove integrity or replace a signature; use SHA-256 or HMAC for that. The 32-bit space also holds only about four billion values, so collisions between different inputs occur in practice once you pass a few hundred thousand records. When using it for duplicate detection, compare the original data again whenever CRCs match.
Frequently asked questions
Can CRC32 detect tampering?
No. Data can be constructed to match any chosen CRC value, so it is only useful for detecting accidental corruption.
Another tool gives a different value.
Several CRC32 polynomials exist. This tool uses the IEEE 802.3 variant used by ZIP and PNG, which differs from CRC-32C (Castagnoli).