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.