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