Miklix

Калкулатор за хаш код Fowler-Noll-Vo FNV1-32

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

Калкулатор за хаш код што ја користи функцијата за хаширање Fowler-Noll-Vo 1 32 бита (FNV1-32) за пресметување на хаш-код врз основа на внесување текст или прикачување на датотека.

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

Fowler-Noll-Vo FNV1-32 Hash Code Calculator

32-битната хаш-функција FNV-1 е дел од фамилијата на хаш-функции Fowler–Noll–Vo (FNV), дизајнирана за брзо хаширање додека одржува добра дистрибуција на вредностите на хашот. Најчесто се користи во апликации како хаш табели, контролни суми и пребарување на податоци. Произведува хаш-код од 32 бити (4 бајти), често претставен како 8-цифрен хексадецимален број.

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


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

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

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



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



За 32-битен хаш алгоритам Fowler-Noll-Vo FNV-1

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

Прво, да го замислиме алгоритмот FNV-1 како рецепт за правење специјално смути. Секоја состојка што ја додавате (како овошје, млеко или мед) претставува дел од податоци - како букви, бројки или дури и цела датотека.

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

Начинот на кој алгоритмот FNV-1 го прави ова е процес од повеќе чекори:

Чекор 1: Започнете со база (основа на поместување)

Помислете на ова како да истурите специјална основа за смути во вашиот блендер. Оваа основа е секогаш иста, без разлика какви состојки ќе додадете. Во FNV-1, ова се нарекува „основа на офсет“ - само фенси почетен број.

Чекор 2: Додадете состојки еден по еден (обработка на податоци)

Сега почнувате да ги додавате состојките, една по една - да речеме јагода, па банана, па мед. Секој од нив претставува бајт на податоци.

Чекор 3: Мешај со таен мултипликатор (FNV Prime)

Откако ќе ја додадете секоја состојка, го притискате копчето за мешање, но тука е пресвртот: блендерот множи сè со таен „магичен број“ наречен FNV prime. Ова помага навистина добро да се измешаат работите.

Чекор 4: Додадете цртичка на магијата (операција XOR)

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

Чекор 5: Повторете додека не завршите

Продолжувате да мешате и прскате магија по секоја нова состојка додека не обработите сè.

Чекор 6: Конечно смути (Хеш вредност)

Кога ќе завршите, го истурате смутито. Конечниот вкус (вредноста на хашот) е единствен за таа точна комбинација на состојки. Ако сте додале уште една боровинка, таа ќе има сосема поинаков вкус.

Верзијата претставена овде е оригиналната FNV-1 32-битна верзија. Достапна е и подобрена FNV-1a 32 битна верзија: Калкулатор за хаш код Fowler-Noll-Vo FNV1a-32

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

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

За авторот

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