crc — Calcul de CRC

Le module crc calcule des sommes de contrôle CRC16 et CRC32 sur des tampons de type octets. Chaque fonction peut être appelée avec uniquement data pour démarrer un nouveau CRC, ou avec une value précédente pour poursuivre un CRC existant sur plusieurs tampons.

Exemple

import crc

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

Fonctions

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

Calcule une somme de contrôle CRC16 sur data, qui doit être un objet de type tampon (par exemple bytes, bytearray ou memoryview).

Si value n’est pas fournie, un nouveau CRC16 est démarré sur data et renvoyé. Si value est fournie, elle est utilisée comme état CRC16 précédent et mise à jour avec data avant d’être renvoyée, ce qui permet de calculer un CRC16 sur plusieurs tampons. Seuls les 16 bits de poids faible de value sont utilisés.

Renvoie le CRC16 résultant sous forme d”int.

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

Calcule une somme de contrôle CRC32 sur data, qui doit être un objet de type tampon (par exemple bytes, bytearray ou memoryview).

Si value n’est pas fournie, un nouveau CRC32 est démarré sur data et renvoyé. Si value est fournie, elle est utilisée comme état CRC32 précédent et mise à jour avec data avant d’être renvoyée, ce qui permet de calculer un CRC32 sur plusieurs tampons.

Renvoie le CRC32 résultant sous forme d”int.