Фовлер-Нолл-Во ФНВ1-64 Калкулатор хеш кода
Објављено: 17. фебруар 2025. 21:36:52 UTC
Последње ажурирано: 12. јануар 2026. 13:27:05 UTC
Fowler-Noll-Vo FNV1-64 Hash Code Calculator
Хеш функција FNV-1 од 64 бита је део породице хеш функција Fowler–Noll–Vo (FNV), дизајнираних за брзо хеширање уз одржавање добре расподеле хеш вредности. Често се користи у апликацијама као што су хеш табеле, контролни збирови и претраге података. Производи хеш код од 64 бита (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: Линк
Даље читање
Ако сте уживали у овом посту, можда ће вам се свидети и ови предлози:
