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

針對 data 計算 CRC16 檢查碼,其必須是類緩衝區物件(例如 bytesbytearraymemoryview)。

若未提供 value,則針對 data 開始新的 CRC16 並傳回。若提供 value,則會將其作為先前的 CRC16 狀態,並以 data 更新後傳回,使得 CRC16 計算能跨越多個緩衝區。僅使用 value 的低 16 位元。

int 傳回所得的 CRC16。

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

針對 data 計算 CRC32 檢查碼,其必須是類緩衝區物件(例如 bytesbytearraymemoryview)。

若未提供 value,則針對 data 開始新的 CRC32 並傳回。若提供 value,則會將其作為先前的 CRC32 狀態,並以 data 更新後傳回,使得 CRC32 計算能跨越多個緩衝區。

int 傳回所得的 CRC32。