crc — Вычисление CRC

Модуль crc вычисляет контрольные суммы CRC16 и CRC32 над буферами байтового типа. Каждая функция может вызываться только с data для начала нового CRC или с предыдущим value для продолжения существующего CRC по нескольким буферам.

Пример:

import crc

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

Функции

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

Вычисляет контрольную сумму CRC16 над data, которая должна быть объектом буферного типа (например, bytes, bytearray или memoryview).

Если value не указано, начинается новый CRC16 над data и возвращается. Если value указано, оно используется как предыдущее состояние CRC16 и обновляется с помощью data перед возвратом, что позволяет вычислять CRC16 по нескольким буферам. Используются только младшие 16 бит value.

Возвращает результирующий CRC16 в виде int.

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

Вычисляет контрольную сумму CRC32 над data, которая должна быть объектом буферного типа (например, bytes, bytearray или memoryview).

Если value не указано, начинается новый CRC32 над data и возвращается. Если value указано, оно используется как предыдущее состояние CRC32 и обновляется с помощью data перед возвратом, что позволяет вычислять CRC32 по нескольким буферам.

Возвращает результирующий CRC32 в виде int.