crc — CRC-beräkning

Modulen crc beräknar CRC16- och CRC32-kontrollsummor över byteliknande buffertar. Varje funktion kan anropas med enbart data för att starta en ny CRC, eller med ett tidigare value för att fortsätta en befintlig CRC över flera buffertar.

Exempel:

import crc

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

Funktioner

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

Beräknar en CRC16-kontrollsumma över data, som måste vara ett buffertliknande objekt (t.ex. bytes, bytearray eller memoryview).

Om value inte anges startas en ny CRC16 över data och returneras. Om value anges används det som det föregående CRC16-tillståndet och uppdateras med data innan det returneras, vilket möjliggör CRC16-beräkning över flera buffertar. Endast de lägre 16 bitarna av value används.

Returnerar den resulterande CRC16 som en int.

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

Beräknar en CRC32-kontrollsumma över data, som måste vara ett buffertliknande objekt (t.ex. bytes, bytearray eller memoryview).

Om value inte anges startas en ny CRC32 över data och returneras. Om value anges används det som det föregående CRC32-tillståndet och uppdateras med data innan det returneras, vilket möjliggör CRC32-beräkning över flera buffertar.

Returnerar den resulterande CRC32 som en int.