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