Miklix

Калкулатор за хеш код 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. Направих само уеб интерфейс, за да я направя публично достъпна тук за удобство.


Изчисляване на нов хеш код

Предоставените данни или файловете, качени чрез този формуляр, се съхраняват на сървъра само толкова дълго, колкото е необходимо за генериране на искания хеш код. Те ще бъдат изтрити непосредствено преди резултатът да бъде върнат на вашия браузър.

Входни данни:



Подаденият текст е кодиран в UTF-8. Тъй като хеш-функциите работят с двоични данни, резултатът ще бъде различен от този, ако текстът е в друго кодиране. Ако трябва да изчислите хеш на текст в определено кодиране, вместо това трябва да качите файл.



Относно хеш алгоритъма Adler-32

Не съм математик, но ще се опитам да обясня тази хеш функция, използвайки ежедневна аналогия, която се надявам моите колеги нематематици да разберат. За разлика от много от криптографските хеш функции, Adler32 е доста проста функция за контролна сума, така че това не би трябвало да е много лошо ;-)

Представете си, че имате торба с малки номерирани плочки, всяка от които представлява буква или част от вашите данни. Например думата „Hi“ има две плочки: една за „H“ и една за „i“.

Сега ще направим две прости неща с тези плочки:

Стъпка 1: Добавете ги (сума A)

  • Започнете с номер 1 (по правило).
  • Добавете числото от всяка плочка към тази обща сума.

Стъпка 2: Поддържайте текуща обща сума на всички суми (сума B)

  • Всеки път, когато добавяте ново число на плочка към сбор A, вие добавяте и новата стойност на сбор A към сбор B.
  • Това е като подреждане на монети: добавяте една монета отгоре (сума A) и след това записвате новата обща височина на стека (сума B).

Накрая залепвате двете суми заедно, за да направите едно голямо число. Това голямо число е контролната сума на Adler-32.

Споделете в BlueskyСподелете във FacebookСподелете в LinkedInСподелете в TumblrСподелете в XСподелете в LinkedInЗакачи в Пинтерест

Микел Банг Кристенсен

За автора

Микел Банг Кристенсен
Микел е създател и собственик на сайта miklix.com. Той има над 20 години опит като професионален компютърен програмист/разработчик на софтуер и в момента работи на пълен работен ден в голяма европейска ИТ корпорация. Когато не пише в блога, той прекарва свободното си време в широк спектър от интереси, хобита и дейности, които до известна степен могат да бъдат отразени в разнообразието от теми, обхванати в този уебсайт.