все Python 3binasciiфункция
binascii.crc32()
контрольные суммы
Считает CRC-32 байтов — беззнаковое 32-битное число, как в ZIP. Второй аргумент продолжает подсчёт, что позволяет обрабатывать файл кусками.
Синтаксис
binascii.crc32(data[, value])
CRC ловит случайную порчу данных, но не подделку: подобрать данные под нужную сумму легко, так что для целостности против злоумышленника нужен hashlib.sha256. Совпадает с zlib.crc32. Для потока сумму передают дальше: crc = crc32(chunk, crc). В Python 2 результат бывал отрицательным, отсюда в старом коде '& 0xffffffff' — в Python 3 он не нужен.
Примеры
import binascii
print(binascii.crc32(b'hello world')) # → 222957957
crc = binascii.crc32(b'hello')
crc = binascii.crc32(b' world', crc)
print(f'{crc:#010x}') # → 0x0d4a1185
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности