crc — Cálculo de CRC

O módulo crc calcula checksums CRC16 e CRC32 sobre buffers semelhantes a bytes. Cada função pode ser chamada apenas com data para iniciar um novo CRC, ou com um value anterior para continuar um CRC existente ao longo de múltiplos buffers.

Exemplo:

import crc

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

Funções

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

Calcula um checksum CRC16 sobre data, que deve ser um objeto semelhante a buffer (por exemplo, bytes, bytearray ou memoryview).

Se value não for fornecido, um novo CRC16 é iniciado sobre data e retornado. Se value for fornecido, ele é usado como o estado anterior do CRC16 e atualizado com data antes de ser retornado, permitindo o cálculo de CRC16 ao longo de múltiplos buffers. Apenas os 16 bits inferiores de value são usados.

Retorna o CRC16 resultante como um int.

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

Calcula um checksum CRC32 sobre data, que deve ser um objeto semelhante a buffer (por exemplo, bytes, bytearray ou memoryview).

Se value não for fornecido, um novo CRC32 é iniciado sobre data e retornado. Se value for fornecido, ele é usado como o estado anterior do CRC32 e atualizado com data antes de ser retornado, permitindo o cálculo de CRC32 ao longo de múltiplos buffers.

Retorna o CRC32 resultante como um int.