crc — Cálculo de CRC

El módulo crc calcula sumas de verificación CRC16 y CRC32 sobre búferes de tipo byte. Cada función puede llamarse solo con data para iniciar un nuevo CRC, o con un value anterior para continuar un CRC existente a través de varios búferes.

Ejemplo:

import crc

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

Funciones

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

Calcula una suma de verificación CRC16 sobre data, que debe ser un objeto de tipo búfer (p. ej. bytes, bytearray o memoryview).

Si no se proporciona value, se inicia un nuevo CRC16 sobre data y se devuelve. Si se proporciona value, se utiliza como el estado CRC16 anterior y se actualiza con data antes de devolverse, lo que permite calcular el CRC16 a través de varios búferes. Solo se usan los 16 bits inferiores de value.

Devuelve el CRC16 resultante como un int.

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

Calcula una suma de verificación CRC32 sobre data, que debe ser un objeto de tipo búfer (p. ej. bytes, bytearray o memoryview).

Si no se proporciona value, se inicia un nuevo CRC32 sobre data y se devuelve. Si se proporciona value, se utiliza como el estado CRC32 anterior y se actualiza con data antes de devolverse, lo que permite calcular el CRC32 a través de varios búferes.

Devuelve el CRC32 resultante como un int.