Calculator de cod hash Fowler-Noll-Vo FNV1-32
Publicat: 18 februarie 2025 la 00:16:00 UTC
Calculator de cod hash care utilizează funcția hash Fowler-Noll-Vo 1 32 biți (FNV1-32) pentru a calcula un cod hash pe baza introducerii textului sau a încărcării fișierului.Fowler-Noll-Vo FNV1-32 Hash Code Calculator
Funcția hash FNV-1 pe 32 de biți face parte din familia de funcții hash Fowler–Noll–Vo (FNV), concepute pentru hash rapid, menținând în același timp o bună distribuție a valorilor hash. Este folosit în mod obișnuit în aplicații precum tabelele hash, sumele de verificare și căutările de date. Produce un cod hash de 32 de biți (4 octeți), adesea reprezentat ca un număr hexazecimal de 8 cifre.
Dezvăluire completă: nu am scris implementarea specifică a funcției hash utilizată pe această pagină. Aceasta este o funcție standard inclusă în limbajul de programare PHP. Am creat doar interfața web pentru a o pune la dispoziția publicului aici pentru comoditate.
Despre algoritmul Hash Fowler-Noll-Vo FNV-1 pe 32 de biți
Nu sunt matematician, dar voi încerca să explic această funcție hash folosind o analogie pe care colegii mei non-matematicieni o pot înțelege. Dacă preferați o explicație matematică corectă din punct de vedere științific, sunt sigur că o puteți găsi în altă parte ;-)
În primul rând, să ne gândim la algoritmul FNV-1 ca la o rețetă pentru a face un smoothie special. Fiecare ingredient pe care îl adăugați (cum ar fi fructele, laptele sau mierea) reprezintă o bucată de date - cum ar fi litere, cifre sau chiar un fișier întreg.
Acum, scopul este de a amesteca aceste ingrediente într-un mod foarte specific, astfel încât chiar și cea mai mică schimbare în rețetă (cum ar fi adăugarea unei afine în plus) să facă smoothie-ul să aibă un gust complet diferit. Așa funcționează funcțiile hash - creează o „aromă” (sau valoare hash) unică pentru fiecare set unic de ingrediente (sau date de intrare).
Modul în care algoritmul FNV-1 face acest lucru este un proces în mai mulți pași:
Pasul 1: Începeți cu o bază (bază de compensare)
Gândiți-vă la asta ca și cum ați turna o bază specială pentru smoothie în blender. Această bază este întotdeauna aceeași, indiferent de ingredientele pe care le adăugați. În FNV-1, aceasta se numește „bază de compensare” - doar un număr de început fantezist.
Pasul 2: Adăugați ingredientele unul câte unul (prelucrarea datelor)
Acum începeți să adăugați ingredientele, pe rând - să spunem o căpșună, apoi o banană, apoi niște miere. Fiecare dintre acestea reprezintă un octet de date.
Pasul 3: amestecați cu un multiplicator secret (FNV Prime)
După ce adăugați fiecare ingredient, apăsați butonul de amestecare, dar iată răsucirea: blenderul înmulțește totul cu un „număr magic” secret numit FNV prim. Acest lucru ajută la amestecarea lucrurilor foarte bine.
Pasul 4: Adăugați un Dash of Magic (operație XOR)
Înainte de a adăuga următorul ingredient, presărați puțin praf magic (aceasta este operația XOR). Este ca și cum ai răsturna aroma în moduri neașteptate, asigurându-te că chiar și schimbările mici fac o mare diferență.
Pasul 5: Repetați până când este gata
Continuați să amestecați și să presărați magie după fiecare ingredient nou până când procesați totul.
Pasul 6: Smoothie final (valoare hash)
Când ați terminat, turnați smoothie-ul. Gustul final (valoarea hash) este unic pentru acea combinație exactă de ingrediente. Dacă ai fi adăugat chiar și o afine în plus, ar avea un gust complet diferit.
Versiunea prezentată aici este versiunea originală FNV-1 pe 32 de biți. Există, de asemenea, o versiune îmbunătățită a FNV-1a pe 32 de biți disponibilă: Calculator de cod hash Fowler-Noll-Vo FNV1a-32