CoderTools

Калькулятор контрольной суммы Adler-32

Вычисление контрольных сумм Adler-32 для текста и файлов, быстрая контрольная сумма для сжатия zlib/gzip

Введите обычный текст (кодировка UTF-8)

Об Adler-32

Adler-32 — это алгоритм контрольной суммы, изобретённый Марком Адлером в 1995 году. Он используется в библиотеке сжатия zlib и является частью широко используемого формата файлов gzip. Adler-32 был разработан для работы быстрее, чем CRC-32, сохраняя при этом разумные возможности обнаружения ошибок.

Алгоритм создаёт 32-битную контрольную сумму (4 байта) и особенно эффективен на коротких входных данных. Назван в честь создателя, который также является соавтором программ сжатия gzip и zlib.

Алгоритм

Adler-32 работает, поддерживая две накопительные суммы по модулю 65521 (наибольшее простое число меньше 2^16). Контрольная сумма вычисляется следующим образом:

A = 1 + D1 + D2 + ... + Dn (mod 65521)
B = (1 + D1) + (1 + D1 + D2) + ... + (1 + D1 + ... + Dn) (mod 65521)
Adler-32 = (B << 16) | A

Характеристики

Типичные случаи использования

Примеры

Input: "Hello, World!"

Adler-32: 1f9e046a (Hex) / 530858090 (Decimal)

Input: "" (empty string)

Adler-32: 00000001 (Hex) / 1 (Decimal)

Adler-32 vs CRC-32

Характеристика Adler-32 CRC-32
Скорость Быстрее Медленнее
Обнаружение ошибок Хорошо Лучше
Типичное использование zlib, PNG, gzip Ethernet, ZIP, PNG

Ссылки