Miklix

Fowler-Noll-Vo FNV1-64 Hash-kode sakrekenaar

Gepubliseer: 17 Februarie 2025 om 21:36:30 UTC

Hash-kode sakrekenaar wat die Fowler-Noll-Vo 1 64 bit (FNV1-64) hash-funksie gebruik om 'n hash-kode te bereken gebaseer op teksinvoer of lêeroplaai.

Hierdie bladsy is masjienvertaal uit Engels om dit vir soveel mense moontlik toeganklik te maak. Ongelukkig is masjienvertaling nog nie 'n volmaakte tegnologie nie, dus kan foute voorkom. As jy verkies, kan jy die oorspronklike Engelse weergawe hier sien:

Fowler-Noll-Vo FNV1-64 Hash Code Calculator

Die FNV-1 64-bis hash-funksie is deel van die Fowler–Noll–Vo (FNV) familie hash-funksies, ontwerp vir vinnige hash terwyl 'n goeie verspreiding van hash-waardes gehandhaaf word. Dit word algemeen gebruik in toepassings soos hash-tabelle, kontrolesomme en data-opsoeke. Dit produseer 'n 64-bis (8 grepe) hash-kode, dikwels voorgestel as 'n 16-syfer heksadesimale getal.

Volledige openbaarmaking: Ek het nie die spesifieke implementering van die hash-funksie wat op hierdie bladsy gebruik word, geskryf nie. Dit is 'n standaardfunksie wat by die PHP-programmeertaal ingesluit is. Ek het net die webkoppelvlak gemaak om dit vir gerief hier publiek beskikbaar te maak.


Bereken Nuwe Hash-kode

Data wat ingedien is of lêers wat deur hierdie vorm opgelaai word, sal slegs op die bediener gehou word vir so lank as wat dit neem om die gevraagde hash-kode te genereer. Dit sal onmiddellik uitgevee word voordat die resultaat na jou blaaier teruggestuur word.

Invoer data:



Ingediende teks is UTF-8 geënkodeer. Aangesien hash-funksies op binêre data werk, sal die resultaat anders wees as wanneer die teks in 'n ander enkodering was. As jy 'n hash van 'n teks in 'n spesifieke enkodering moet bereken, moet jy eerder 'n lêer oplaai.



Oor die Fowler-Noll-Vo FNV-1 64 bit Hash Algoritme

Ek is nie 'n wiskundige nie, maar ek sal probeer om hierdie hash-funksie te verduidelik deur 'n analogie te gebruik wat my mede-nie-wiskundiges kan verstaan. As jy 'n wetenskaplik korrekte, scary-wiskunde verduideliking verkies, is ek seker jy kan dit elders vind ;-)

Kom ons dink eers aan die FNV-1-algoritme soos 'n resep om 'n spesiale smoothie te maak. Elke bestanddeel wat jy byvoeg (soos vrugte, melk of heuning) verteenwoordig 'n stukkie data - soos letters, syfers of selfs 'n hele lêer.

Nou is die doel om hierdie bestanddele op 'n baie spesifieke manier te meng sodat selfs die kleinste verandering in die resep (soos om een ​​ekstra bloubessie by te voeg) die smoothie heeltemal anders laat smaak. Dit is hoe hash-funksies werk - hulle skep 'n unieke "geur" ​​(of hash-waarde) vir elke unieke stel bestanddele (of insetdata).

Die manier waarop die FNV-1-algoritme dit doen, is 'n multi-stap proses:

Stap 1: Begin met 'n basis (offsetbasis)

Dink hieraan soos om 'n spesiale smoothie-basis in jou blender te gooi. Hierdie basis is altyd dieselfde, maak nie saak watter bestanddele jy byvoeg nie. In FNV-1 word dit die "offset basis" genoem - net 'n fancy beginnommer.

Stap 2: Voeg bestanddele een vir een by (verwerking van data)

Nou begin jy jou bestanddele byvoeg, een op 'n slag - kom ons sê 'n aarbei, dan 'n piesang, dan 'n bietjie heuning. Elkeen hiervan verteenwoordig 'n greep data.

Stap 3: Meng met 'n geheime vermenigvuldiger (The FNV Prime)

Nadat jy elke bestanddeel bygevoeg het, druk jy die versnitknoppie, maar hier is die kinkel: die blender vermenigvuldig alles met 'n geheime "magiese getal" wat die FNV-prima genoem word. Dit help om dinge baie goed te meng.

Stap 4: Voeg 'n Dash of Magic by (XOR Operation)

Voordat jy die volgende bestanddeel byvoeg, sprinkel jy 'n bietjie towerstof in (dit is die XOR-bewerking). Dit is soos om die geur op onverwagte maniere om te draai, om te verseker dat selfs klein veranderinge 'n groot verskil maak.

Stap 5: Herhaal tot klaar

Jy hou aan om na elke nuwe bestanddeel te meng en towery te sprinkel totdat jy alles verwerk het.

Stap 6: Finale Smoothie (Hash-waarde)

As jy klaar is, gooi jy die smoothie uit. Die finale smaak (die hash-waarde) is uniek aan daardie presiese kombinasie van bestanddele. As jy selfs een ekstra bloubessie bygevoeg het, sou dit heeltemal anders smaak.

Die weergawe wat hier aangebied word, is die oorspronklike FNV-1 64 bis weergawe. Daar is ook 'n verbeterde FNV-1a 64 bis weergawe beskikbaar: Fowler-Noll-Vo FNV1a-64 Hash-kode sakrekenaar

Deel op BlueskyDeel op FacebookDeel op LinkedInDeel op TumblrDeel op XDeel op LinkedInSpeld op Pinterest

Mikkel Bang Christensen

Oor die skrywer

Mikkel Bang Christensen
Mikkel is die skepper en eienaar van miklix.com. Hy het meer as 20 jaar ondervinding as 'n professionele rekenaarprogrammeerder/sagteware-ontwikkelaar en is tans voltyds in diens van 'n groot Europese IT-korporasie. Wanneer hy nie blog nie, spandeer hy sy vrye tyd aan 'n groot verskeidenheid belangstellings, stokperdjies en aktiwiteite, wat tot 'n mate weerspieël kan word in die verskeidenheid onderwerpe wat op hierdie webwerf gedek word.