MurmurHash3C калкулатор на хеш код
Публикувано: 18 февруари 2025 г. в 0:33:50 ч. UTC
Калкулатор на хеш код, който използва хеш функцията MurmurHash3C за изчисляване на хеш код въз основа на въвеждане на текст или качване на файл.MurmurHash3C Hash Code Calculator
MurmurHash3 е некриптографска хеш функция, проектирана от Austin Appleby през 2008 г. Тя се използва широко за хеширане с общо предназначение поради своята скорост, простота и добри свойства за разпространение. Функциите MurmurHash са особено ефективни за базирани на хеш структури от данни като хеш таблици, филтри за разцвет и системи за дедупликация на данни.
Вариантът, представен на тази страница, е вариантът 3C, който е оптимизиран за 32-битови системи, както и вариантът 3A. Въпреки това, за разлика от варианта 3A, той произвежда 128 бита (16 байта) хеш кодове, обикновено представени като 32-цифрено шестнадесетично число.
Пълно разкритие: не съм написал конкретната реализация на хеш функцията, използвана на тази страница. Това е стандартна функция, включена в езика за програмиране PHP. Направих само уеб интерфейс, за да я направя публично достъпна тук за удобство.
Относно хеш алгоритъма MurmurHash3C
Не съм математик, но ще се опитам да обясня тази хеш функция, като използвам аналогия, която моите колеги нематематици могат да разберат. Ако предпочитате научно правилно, пълно математическо обяснение, сигурен съм, че можете да го намерите другаде ;-)
Сега си представете, че имате голяма кутия LEGO тухли. Всеки път, когато ги подредите по определен начин, правите снимка. Без значение колко голяма или цветна е подредбата, камерата винаги ви дава малка снимка с фиксиран размер. Тази снимка представлява вашето LEGO творение, но в компактна форма.
MurmurHash3 прави нещо подобно с данни. Той взема всякакъв вид данни (текст, числа, файлове) и ги свива до малък, фиксиран "пръстов отпечатък" или хеш стойност. Този пръстов отпечатък помага на компютрите бързо да идентифицират, сортират и сравняват данни, без да е необходимо да разглеждат всичко.
Друга аналогия би била като печене на торта и MurmurHash3 е рецептата за превръщането на тази торта в малък кекс (хашиша). Това би бил процес от три стъпки:
Стъпка 1: Нарязване на парчета (Разбиване на данните)
- Първо, MurmurHash3 нарязва вашите данни на равни парчета, като нарязване на тортата на равни квадрати.
Стъпка 2: Смесете като луди (смесване на парчетата)
- Всяко парче преминава през див процес на смесване:
- Обръщане: Като обръщане на палачинка, това пренарежда парчетата.
- Разбъркване: Добавя произволни съставки (математически операции), за да смеси нещата.
- Мачкане: Притиска данните заедно, за да се увери, че нито едно оригинално парче не изпъква.
Стъпка 3: Краен тест за вкус (финализиране)
- След като смеси всички парчета, MurmurHash3 прави едно последно разбъркване, за да гарантира, че дори и най-малката промяна в оригиналните данни напълно ще промени вкуса (хеш).