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

The implementation uses the equivalent reflected polynomial 0xEDB88320. For every byte it indexes a precomputed 256-entry table with the low register byte, shifts the register, and XORs the table remainder. The register is complemented at the end.2, 1

How the CRC-32/ISO-HDLC function processes input

  1. Encode text as UTF-8 bytes.
  2. Initialize the 32-bit register to all ones.
  3. Update the reflected register once per byte with polynomial 0xEDB88320.
  4. 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

  1. Encoding Standard — WHATWG

  2. Catalogue of parametrised CRC algorithms — CRC RevEng

Similar or alternative tools

Don't forget to set a bookmark for tool.io!
Privacy | Imprint | Cookies