CRC32 implementation with configurable polynomials.

Examples

Example 1

import { assertEquals } from "@std/assert";
import { createCrc32, CRC32_POLYNOMIAL } from "@hertzg/crc/crc32";

const crc32 = createCrc32(CRC32_POLYNOMIAL);

assertEquals(crc32(new TextEncoder().encode("123456789")), 0xcbf43926);

Functions

Variables

v
CRC32_POLYNOMIAL: 3988292384

Standard CRC32 polynomial (ISO 3309, PNG, ZIP, gzip).

v
CRC32C_POLYNOMIAL: 2197175160

CRC32C polynomial (iSCSI, SCTP, ext4). Also known as Castagnoli.

v
CRC32K_POLYNOMIAL: 3945912366

CRC32K polynomial (Koopman). Designed for improved Hamming-distance coverage.