Miklix

Фовлер-Нолл-Во ФНВ1-64 Калкулатор хеш кода

Објављено: 17. фебруар 2025. 21:36:52 UTC
Последње ажурирано: 12. јануар 2026. 13:27:05 UTC

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

Ова страница је машински преведена са енглеског како би била доступна што већем броју људи. Нажалост, машинско превођење још увек није усавршена технологија, тако да може доћи до грешака. Ако желите, можете погледати оригиналну енглеску верзију овде:

Fowler-Noll-Vo FNV1-64 Hash Code Calculator

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

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


Израчунајте нови хеш код

Подаци достављени или датотеке отпремљене путем овог обрасца чуваће се на серверу само онолико дуго колико је потребно за генерисање траженог хасх кода. Биће избрисан непосредно пре него што се резултат врати у ваш прегледач.

Улазни подаци:



Послати текст је кодиран УТФ-8. Пошто хеш функције раде на бинарним подацима, резултат ће бити другачији него да је текст у другом кодирању. Ако треба да израчунате хеш текста у одређеном кодирању, требало би да отпремите датотеку уместо тога.



О 64-битном хеш алгоритму Фаулер-Нол-Во FNV-1

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

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

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

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

Корак 1: Почните са базом (офсетна основа)

Замислите ово као да сипате посебну базу за смути у блендер. Ова база је увек иста, без обзира на састојке које додате. У FNV-1, ово се назива „офсет база“ - само отмени почетни број.

Корак 2: Додајте састојке један по један (Обрада података)

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

Корак 3: Мешајте са тајним множитељем (FNV Prime)

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

Корак 4: Додајте мало магије (XOR операција)

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

Корак 5: Понављајте док не завршите

Настављате да блендирате и посипате магију после сваког новог састојка док све не обрадите.

Корак 6: Завршни смути (хеш вредност)

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

Верзија представљена овде је оригинална 64-битна верзија FNV-1. Такође је доступна и побољшана 64-битна верзија FNV-1a: Линк

Даље читање

Ако сте уживали у овом посту, можда ће вам се свидети и ови предлози:


Поделите на БлуескиПоделите на ФејсбукуДелите на ЛинкедИнуПодели на Тумблр-уПодели на КсДелите на ЛинкедИнуПин на Пинтерест-у

Миккел Цхристенсен

О аутору

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