Калкулатор за хеш код Adler-32
Публикувано: 17 февруари 2025 г. в 17:58:40 ч. UTC
Калкулатор на хеш код, който използва хеш функцията Adler-32 за изчисляване на хеш код въз основа на въвеждане на текст или качване на файл.Adler-32 Hash Code Calculator
Хеш функцията Adler-32 е алгоритъм за контролна сума, който е прост, бърз и често се използва за проверка на целостта на данните. Той е проектиран от Марк Адлер и обикновено се използва в приложения като zlib за компресиране на данни. За разлика от криптографските хеш функции (като SHA-256), Adler-32 не е предназначен за сигурност, а за бърза проверка на грешки. Той изчислява 32-битова (4 байта) контролна сума, обикновено представена като 8 шестнадесетични знака.
Пълно разкритие: не съм написал конкретната реализация на хеш функцията, използвана на тази страница. Това е стандартна функция, включена в езика за програмиране PHP. Направих само уеб интерфейс, за да я направя публично достъпна тук за удобство.
Относно хеш алгоритъма Adler-32
Не съм математик, но ще се опитам да обясня тази хеш функция, използвайки ежедневна аналогия, която се надявам моите колеги нематематици да разберат. За разлика от много от криптографските хеш функции, Adler32 е доста проста функция за контролна сума, така че това не би трябвало да е много лошо ;-)
Представете си, че имате торба с малки номерирани плочки, всяка от които представлява буква или част от вашите данни. Например думата „Hi“ има две плочки: една за „H“ и една за „i“.
Сега ще направим две прости неща с тези плочки:
Стъпка 1: Добавете ги (сума A)
- Започнете с номер 1 (по правило).
- Добавете числото от всяка плочка към тази обща сума.
Стъпка 2: Поддържайте текуща обща сума на всички суми (сума B)
- Всеки път, когато добавяте ново число на плочка към сбор A, вие добавяте и новата стойност на сбор A към сбор B.
- Това е като подреждане на монети: добавяте една монета отгоре (сума A) и след това записвате новата обща височина на стека (сума B).
Накрая залепвате двете суми заедно, за да направите едно голямо число. Това голямо число е контролната сума на Adler-32.