Miklix

Калкулатор за хаш код MurmurHash3C

Објавено: 5 март 2025, во 19:48:14 UTC

Калкулатор за хаш код кој ја користи функцијата за хаш MurmurHash3C за пресметување на хаш-код врз основа на внесување текст или прикачување на датотека.

Оваа страница беше машински преведена од англиски за да биде достапна за што повеќе луѓе. За жал, машинското преведување сè уште не е усовршена технологија, така што може да се појават грешки. Ако сакате, можете да ја видите оригиналната англиска верзија овде:

MurmurHash3C Hash Code Calculator

MurmurHash3 е некриптографска хаш-функција дизајнирана од Остин Еплби во 2008 година. Широко се користи за хаширање за општа намена поради неговата брзина, едноставност и добри дистрибутивни својства. Функциите MurmurHash се особено ефективни за структури на податоци базирани на хаш, како што се табелите за хаш, филтри за блум и системи за дедупликација на податоци.

Варијантата претставена на оваа страница е варијантата 3C, која е оптимизирана за 32 битни системи, исто како и варијантата 3А. Сепак, за разлика од варијантата 3А, таа произведува хаш-кодови од 128 бити (16 бајти), типично претставени како хексадецимален број од 32 цифри.

Целосно обелоденување: Не ја напишав конкретната имплементација на функцијата за хаш што се користи на оваа страница. Тоа е стандардна функција вклучена во програмскиот јазик PHP. Го направив веб-интерфејсот само за да го направам јавно достапен овде за погодност.


Пресметајте нов хаш код

Поднесените податоци или датотеките поставени преку овој формулар ќе се чуваат на серверот само онолку колку што е потребно за да се генерира бараниот хаш-код. Ќе се избрише веднаш пред резултатот да се врати во вашиот прелистувач.

Влезни податоци:



Испратениот текст е шифриран UTF-8. Бидејќи хаш-функциите работат на бинарни податоци, резултатот ќе биде различен отколку ако текстот бил во друго кодирање. Ако треба да пресметате хаш на текст во одредено кодирање, наместо тоа треба да испратите датотека.



За алгоритмот MurmurHash3C Hash

Јас не сум математичар, но ќе се обидам да ја објаснам оваа хаш функција користејќи аналогија што моите колеги не-математичари можат да ја разберат. Ако претпочитате научно точно, целосно математичко објаснување, сигурен сум дека можете да го најдете на друго место ;-)

Сега, замислете дека имате голема кутија LEGO коцки. Секој пат кога ќе ги распоредите на специфичен начин, се сликате. Без разлика колку е голем или шарен распоредот, камерата секогаш ви дава мала фотографија со фиксна големина. Таа фотографија ја претставува вашата ЛЕГО креација, но во компактна форма.

MurmurHash3 прави нешто слично со податоците. Потребно е секаков вид на податоци (текст, бројки, датотеки) и ги намалува на мал, фиксен „отпечаток од прст“ или хаш вредност. Овој отпечаток од прст им помага на компјутерите брзо да ги идентификуваат, сортираат и споредуваат податоците без да треба да ја гледаат целата работа.

Друга аналогија би била како печење торта, а MurmurHash3 е рецептот да се претвори таа торта во мал кејк (хаш). Ова би бил процес во три чекори:

Чекор 1: Исечете на парчиња (кршење на податоците)

  • Прво, MurmurHash3 ги сече вашите податоци на еднакви парчиња, како да ја исечете тортата на рамни квадрати.

Чекор 2: Измешајте како лудо (мешајќи ги парчињата)

  • Секое парче поминува низ див процес на мешање:
    • Превртување: Како превртување на палачинка, ги преуредува парчињата.
    • Мешање: додава случајни состојки (математички операции) за да се измешаат работите.
    • Squishing: Ги притиска податоците заедно за да се увери дека не се истакнува оригиналното парче.

Чекор 3: Последен тест за вкус (финализација)

  • По мешањето на сите парчиња, MurmurHash3 му дава едно последно мешање за да се осигура дека дури и најмалата трошка промена во оригиналните податоци целосно ќе го промени вкусот (хашот).

Споделете на BlueskyСподелете на ФејсбукСподелете на LinkedInСподелете на TumblrСподелете на XСподелете на LinkedInЗакачи на Pinterest

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

За авторот

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