CRC-32 Checksum
Calculate the standard CRC-32/ISO-HDLC checksum of UTF-8 text with polynomial 0x04C11DB7 in reflected form.
Description
Calculate the standard CRC-32/ISO-HDLC checksum of UTF-8 text and return eight uppercase hexadecimal digits.
This tool implements the widely used CRC-32 model found in Ethernet, ZIP, gzip and PNG: width 32, polynomial 0x04C11DB7, reflected input and output, initial register 0xFFFFFFFF, and final XOR 0xFFFFFFFF. Text is converted to UTF-8 bytes before calculation.1
When to use CRC-32 Checksum
Use CRC-32 to reproduce a field or manifest that specifies CRC-32/ISO-HDLC, or to detect likely accidental corruption during storage and transport. The standard check input “123456789” produces CBF43926.
How CRC-32 Checksum works
How the CRC-32/ISO-HDLC function processes input
- Encode text as UTF-8 bytes.
- Initialize the 32-bit register to all ones.
- Update the reflected register once per byte with polynomial 0xEDB88320.
- XOR the register with 0xFFFFFFFF and format eight uppercase hexadecimal digits.
Limitations and assumptions
- CRC-32 is designed for accidental error detection, not cryptographic integrity or authentication.
- CRC-32C, CRC-32/BZIP2, POSIX cksum, and other 32-bit variants can produce different values.
- Exact bytes matter: newline style, Unicode normalization, and encoding affect the checksum.
Alternative or Complementary approaches
Confirm all CRC parameters when interoperating with hardware or a file format. Pair or replace CRC-32 with an HMAC or signature when an attacker could modify both the data and checksum.
References
-
Encoding Standard — WHATWG
-
Catalogue of parametrised CRC algorithms — CRC RevEng
Similar or alternative tools
- CRC-16/CCITT-FALSE Checksum
Calculate the defined 16-bit CCITT-FALSE model.
- Adler-32 Checksum
Calculate the zlib Adler-32 checksum.
- SHA-256 Hash Generator
Generate a collision-resistant digest for new integrity workflows.