Описание тега adler32

Adler-32 is a fast checksum algorithm used in zlib to verify the results of decompression. It is composed of two sums modulo 65521. Start with s1 = 1 and s2 = 0, then for each byte x, s1 = s1 + x, s2 = s2 + s1. The two sums are combined into a 32-bit value with s1 in the low 16 bits and s2 in the high 16 bits.
1 ответ

Различная контрольная сумма adler32 на target-c и C#

Я разрабатываю приложение для target-c, которое отправляет файл и контрольную сумму Adler32 этого файла в веб-службу. После отправки файла на веб-сервер отвечает, что контрольная сумма не пройдена. Это код, который я использую для проверки суммы по …
26 авг '13 в 19:01
5 ответов

Накопительные хэши

Я уже читал здесь о SO (EDIT: Incremental Checks), что есть некоторые алгоритмы контрольных сумм (я думаю, один из них - adler32), которые поддерживают следующее свойство: adler32('abc'); // 123 adler32('def'); // 456 adler32('abcdef'); // 579 (123 …
29 сен '09 в 19:43
2 ответа

Контрольная сумма adler32 в цели c

Я работаю над приложением, которое отправляет данные на сервер с информацией о местоположении пользователя. Сервер принимает эти данные на основе вычисления контрольной суммы, которая написана на языке Java. Вот код, написанный на Java: private stat…
05 фев '14 в 17:42
2 ответа

Можно ли использовать механизм CRC32 для вычисления хэшей CRC16?

Я работаю с микроконтроллером с собственными функциями HW для вычисления хэшей CRC32 из кусков памяти, где полином можно свободно определять. Оказывается, что система имеет разные каналы передачи данных с разной длиной битов для CRC, например, 16 и …
12 апр '17 в 21:09
2 ответа

PNG базы палитры с IDAT, которая имеет BTYPE=00 без сжатия, теперь с кодом Adler32

Я работаю над кодом, который создает простые PNG-файлы на основе палитры без libpng. Выходной файл на этом этапе содержит только блоки IHDR, PLTE, IDAT(x3) и IEND. Единственное, что, возможно, немного отличается тем, что значения индекса пикселя в б…
17 мар '16 в 20:10
0 ответов

Как вычислить Adler32 в zlib

Что касается контрольной суммы, adler32, используемой в zlib. От rfc 1950: ADLER32: содержит контрольную сумму несжатых данных (исключая любые словарные данные), рассчитанных по алгоритму Adler-32. Вот png (zlib в IDAT). синий = длина, 4 байта красн…
12 дек '18 в 19:54
6 ответов

Почему по модулю 65521 в алгоритме контрольной суммы Adler-32?

Алгоритм контрольной суммы Adler-32 суммирует по модулю 65521. Я знаю, что 65521 - это наибольшее простое число, которое умещается в 16 битах, но почему важно использовать простое число в этом алгоритме? (Я уверен, что ответ будет очевиден, когда кт…
29 май '09 в 17:52
5 ответов

Насколько надежна контрольная сумма adler32?

Интересно, насколько надежна контрольная сумма adler32 по сравнению, например, с контрольной суммой md5? В википедии было сказано, что adler32 "гораздо менее надежен", чем md5, так что мне интересно, сколько и каким образом? В частности, мне интерес…
18 май '11 в 11:09
3 ответа

Как сделать контрольную сумму из объекта JavaScript?

Мне нужно сделать контрольную сумму из объекта JavaScript.К сожалению, кажется, что не существует простого способа сделать это из-за упорядочения объектов в JavaScript. Например, возьмите эти объекты: var obj1 = {type:"cake",quantity:0} , obj2 = {qu…
23 июл '14 в 17:32
1 ответ

Контрольная сумма Adler32 для файла в JavaScript

Я загружаю файл по частям, используя XMLHttpReques, и мне нужно вычислить контрольную сумму Adler32 для каждой части, как я могу сделать это в JavaScript.
27 окт '16 в 10:06
1 ответ

Генерация контрольной суммы Adler-32 - почему используются операторы бит и вправо

Я нашел метод, который реализует алгоритм Adler32 в C#, и я хотел бы использовать его, но я не понимаю часть кода: Может кто-нибудь объяснить мне: 1) почему битовые операторы используются при инициализации sum1 и sum2 2) почему смещается sum2? Adler…
18 янв '17 в 09:35
2 ответа

Быстрое внедрение скользящего хэша в PHP

Я реализовал хэш Adler32 в PHP, но потому что ord Это настолько медленно (около 1 МБ в секунду на моем компьютере разработчика), чтобы получить целочисленные значения чантеров в строке, это решение не работает для файлов размером более 100 МБ. Функц…
14 июн '15 в 12:00
1 ответ

Когда уместно использовать простой модуль в качестве функции хеширования?

Мне нужно создать 16-битный хэш из 32-битного числа, и я пытаюсь определить, подходит ли простой модуль 2^16. Хеш будет использоваться в хэш-таблице с 2^16 записями для быстрого поиска 32-битного числа. Насколько я понимаю, если пространство данных …
02 май '14 в 18:31
1 ответ

Делает ли Adler32 сообщения + сумму адлера в ноль (например, CRC32)

CRC-32 обладает этим замечательным свойством, заключающимся в том, что добавление CRC в конец сообщения позволяет вам выполнить проверку сообщения путем вычисления CRC всей вещи, и если контрольная сумма пройдет, окончательный результат будет нулевы…
03 авг '12 в 14:59
1 ответ

Ужасные коллизии хеша adler32

При использовании adler32() в качестве хеш-функции следует ожидать редких коллизий. Мы можем сделать точную математику вероятности столкновений, но грубо говоря,так как это 32-битная хеш-функция, не должно быть много коллизийна выборочном наборе из …
19 ноя '12 в 13:43
1 ответ

Может ли поток содержать некоторый сжатый блок исправления Хаффмана и несколько динамических сжатых блоков Хаффмана

Можно ли сжимать поток несколькими блоками, сжатыми статической кодировкой Хаффмана, а некоторыми блоками, сжатыми динамической кодировкой Хаффмана? Если да, то можно ли это сжимать?
2 ответа

Учитывая имя файла, как я могу получить Adler32 с помощью Crypto++

Учитывая "строковое имя файла", как я могу получить контрольную сумму Adler32, используя библиотеку C++ Crypto++. Я немного запутался в использовании их системы Source и Sink. Ниже у меня есть скелет кода, который делает MD5, но я не могу найти каки…
06 май '09 в 01:15
1 ответ

Преобразовать хеш-код в его двоичное представление

Я вычисляю хеш-код для слова "тропический", используя алгоритм Adler32. В результате получается число "260768607". Как преобразовать указанное выше число в его двоичное представление? Спасибо
31 окт '14 в 01:47
1 ответ

Zlib adler32 проблема скользящей контрольной суммы

Я использую функцию adler32 из zlib для вычисления слабой контрольной суммы фрагмента памяти x (длиной 4096). Все хорошо, но теперь я хотел бы выполнить скользящую контрольную сумму, если фрагменты из другого файла не совпадают, однако я не уверен, …
30 май '11 в 15:35
2 ответа

Adler32 легко расшифровать и почему?

Я слышал, что мы не должны полагаться на Adler32, и я хочу спросить, почему. Почему мы не должны доверять Adler32 хешу? Это обратимо? Или мы можем просто увидеть настоящий текст с легкостью?
28 окт '16 в 18:33