Python Glossary English

все Python 3zlibфункция

zlib.adler32()

контрольные суммы

Вычисляет контрольную сумму Adler-32 — быстрее CRC-32, но слабее; можно считать по частям.

Синтаксис

zlib.adler32(data[, value])

Её использует сам формат zlib в конце потока, но для своих данных обычно берут crc32: Adler-32 плохо ловит ошибки на коротких сообщениях в несколько байт. Начальное значение не 0, а 1 — adler32(b'') == 1, и при подсчёте по частям первым вызовом нужно опустить второй аргумент, а не передавать 0. Это не криптографический хеш.

Примеры

import zlib
print(zlib.adler32(b''), zlib.crc32(b''))  # → 1 0
running = zlib.adler32(b'hel')
print(zlib.adler32(b'lo', running) == zlib.adler32(b'hello'))  # → True
print(zlib.adler32(b'lo', 0) == zlib.adler32(b'lo'))  # → False — начало не с 0

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности