Python Glossary English

все 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Сообщить о неточности