crc — Výpočet CRC

Modul crc počítá kontrolní součty CRC16 a CRC32 nad buffery podobnými bajtům. Každou funkci lze zavolat pouze s data pro spuštění nového CRC, nebo s předchozí hodnotou value pro pokračování existujícího CRC napříč více buffery.

Příklad:

import crc

c = crc.crc32(b"hello ")
c = crc.crc32(b"world", value=c)
print(hex(c))

Funkce

crc.crc16(data: bytes, *, value: int = None) int

Vypočítá kontrolní součet CRC16 nad data, což musí být objekt podobný bufferu (např. bytes, bytearray nebo memoryview).

Pokud není value zadána, spustí se nové CRC16 nad data a vrátí se. Pokud je value zadána, použije se jako předchozí stav CRC16 a před vrácením se aktualizuje pomocí data, což umožňuje výpočet CRC16 napříč více buffery. Použije se pouze dolních 16 bitů hodnoty value.

Vrátí výsledné CRC16 jako int.

crc.crc32(data: bytes, *, value: int = None) int

Vypočítá kontrolní součet CRC32 nad data, což musí být objekt podobný bufferu (např. bytes, bytearray nebo memoryview).

Pokud není value zadána, spustí se nové CRC32 nad data a vrátí se. Pokud je value zadána, použije se jako předchozí stav CRC32 a před vrácením se aktualizuje pomocí data, což umožňuje výpočet CRC32 napříč více buffery.

Vrátí výsledné CRC32 jako int.