Miklix

MurmurHash3C калкулатор на хеш код

Публикувано: 18 февруари 2025 г. в 0:33:50 ч. UTC
Последна актуализация: 12 януари 2026 г. в 13:31:59 ч. UTC

Калкулатор за хеш код, който използва хеш функцията MurmurHash3C, за да изчисли хеш код въз основа на въведен текст или качване на файл.

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

MurmurHash3C Hash Code Calculator

MurmurHash3 е некриптографска хеш функция, разработена от Остин Апълби през 2008 г. Тя се използва широко за хеширане с общо предназначение поради своята скорост, простота и добри свойства на разпределение. Функциите на MurmurHash са особено ефективни за структури от данни, базирани на хеш, като хеш таблици, филтри на Блум и системи за дедупликация на данни.

Вариантът, представен на тази страница, е 3C вариантът, който е оптимизиран за 32-битови системи, както и 3A вариантът. За разлика от 3A варианта обаче, той произвежда 128-битови (16 байта) хеш кодове, обикновено представени като 32-цифрено шестнадесетично число.

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


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

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

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



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



Относно хеш алгоритъма MurmurHash3C

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

Сега си представете, че имате голяма кутия с LEGO тухлички. Всеки път, когато ги подреждате по определен начин, правите снимка. Без значение колко голяма или цветна е аранжировката, камерата винаги ви дава малка снимка с фиксиран размер. Тази снимка представлява вашето LEGO творение, но в компактна форма.

MurmurHash3 прави нещо подобно с данните. Той приема всякакъв вид данни (текст, числа, файлове) и ги свива до малък, фиксиран „пръстов отпечатък“ или хеш стойност. Този пръстов отпечатък помага на компютрите бързо да идентифицират, сортират и сравняват данни, без да е необходимо да гледат цялото нещо.

Друга аналогия би била като печенето на торта, а MurmurHash3 е рецептата за превръщането на тази торта в малко мъфинче (хаш). Това би бил процес от три стъпки:

Стъпка 1: Нарежете на парчета (разбийте данните)

  • Първо, MurmurHash3 нарязва данните ви на равни парчета, като рязане на торта на равни квадрати.

Стъпка 2: Разбърквайте като луди (смесване на парчетата)

  • Всяко парче преминава през див процес на смесване: Обръщане: Като обръщане на палачинка, той пренарежда парчетата. Разбъркване: Добавя произволни съставки (математически операции), за да смеси нещата. Стискане: Притиска данните заедно, за да се гарантира, че никое оригинално парче не се откроява.

Стъпка 3: Финален тест за вкус (Финализация)

  • След като смеси всички парчета, MurmurHash3 ги разбърква за последен път, за да гарантира, че дори и най-малката промяна в оригиналните данни ще промени напълно вкуса (хашиша).

Допълнително четене

Ако ви е харесала тази публикация, може да ви харесат и тези предложения:


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

Микел Кристенсен

За автора

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