crc — Obliczanie CRC

Moduł crc oblicza sumy kontrolne CRC16 i CRC32 dla buforów typu bajtowego. Każda funkcja może zostać wywołana tylko z data, aby rozpocząć nowe CRC, lub z poprzednią wartością value, aby kontynuować istniejące CRC przez wiele buforów.

Przykład:

import crc

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

Funkcje

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

Oblicza sumę kontrolną CRC16 dla data, która musi być obiektem typu buforowego (np. bytes, bytearray lub memoryview).

Jeśli value nie jest podane, nowe CRC16 jest rozpoczynane dla data i zwracane. Jeśli value jest podane, jest używane jako poprzedni stan CRC16 i aktualizowane o data przed zwróceniem, co umożliwia obliczanie CRC16 przez wiele buforów. Używane są tylko dolne 16 bitów value.

Zwraca wynikowe CRC16 jako int.

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

Oblicza sumę kontrolną CRC32 dla data, która musi być obiektem typu buforowego (np. bytes, bytearray lub memoryview).

Jeśli value nie jest podane, nowe CRC32 jest rozpoczynane dla data i zwracane. Jeśli value jest podane, jest używane jako poprzedni stan CRC32 i aktualizowane o data przed zwróceniem, co umożliwia obliczanie CRC32 przez wiele buforów.

Zwraca wynikowe CRC32 jako int.