crc — CRC-laskenta

crc-moduuli laskee CRC16- ja CRC32-tarkistussummia tavumaisille puskureille. Kutakin funktiota voidaan kutsua pelkällä data-argumentilla uuden CRC:n aloittamiseksi tai aiemmalla value-arvolla olemassa olevan CRC:n jatkamiseksi useiden puskureiden yli.

Esimerkki:

import crc

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

Funktiot

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

Laskee CRC16-tarkistussumman data-arvolle, jonka on oltava puskurimainen olio (esim. bytes, bytearray tai memoryview).

Jos value-arvoa ei anneta, uusi CRC16 aloitetaan data-arvon yli ja palautetaan. Jos value annetaan, sitä käytetään edellisenä CRC16-tilana ja se päivitetään data-arvolla ennen palauttamista, mikä mahdollistaa CRC16-laskennan useiden puskureiden yli. Vain value-arvon alimpia 16 bittiä käytetään.

Palauttaa tuloksena olevan CRC16:n int-arvona.

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

Laskee CRC32-tarkistussumman data-arvolle, jonka on oltava puskurimainen olio (esim. bytes, bytearray tai memoryview).

Jos value-arvoa ei anneta, uusi CRC32 aloitetaan data-arvon yli ja palautetaan. Jos value annetaan, sitä käytetään edellisenä CRC32-tilana ja se päivitetään data-arvolla ennen palauttamista, mikä mahdollistaa CRC32-laskennan useiden puskureiden yli.

Palauttaa tuloksena olevan CRC32:n int-arvona.