Fowler-Noll-Vo FNV1-64 Hash Kodu Kalkulyatoru
Nəşr olundu: 17 fevral 2025 at 21:36:55 UTC
Mətn daxilinə və ya fayl yükləməsinə əsaslanan hash kodunu hesablamaq üçün Fowler-Noll-Vo 1 64 bit (FNV1-64) hash funksiyasından istifadə edən hash kodu kalkulyatoru.Fowler-Noll-Vo FNV1-64 Hash Code Calculator
FNV-1 64 bitlik hash funksiyası Fowler-Noll-Vo (FNV) hash funksiyaları ailəsinin bir hissəsidir və hash dəyərlərinin yaxşı paylanmasını təmin etməklə sürətli hashing üçün nəzərdə tutulmuşdur. O, adətən hash cədvəlləri, yoxlama məbləğləri və məlumat axtarışları kimi tətbiqlərdə istifadə olunur. O, 64 bitlik (8 bayt) hash kodu istehsal edir, tez-tez 16 rəqəmli onaltılıq nömrə kimi təmsil olunur.
Tam açıqlama: Mən bu səhifədə istifadə olunan hash funksiyasının konkret icrasını yazmamışam. Bu PHP proqramlaşdırma dilinə daxil edilmiş standart funksiyadır. Mən yalnız rahatlıq üçün veb-interfeysi burada ictimaiyyətə açıq etmək üçün etdim.
Fowler-Noll-Vo FNV-1 64 bitlik Hash alqoritmi haqqında
Mən riyaziyyatçı deyiləm, amma riyaziyyatçı olmayan həmkarlarımın başa düşə biləcəyi bir bənzətmədən istifadə edərək bu hash funksiyasını izah etməyə çalışacağam. Elmi cəhətdən düzgün, qorxulu riyazi izaha üstünlük verirsinizsə, əminəm ki, başqa yerdə tapa bilərsiniz ;-)
Əvvəlcə FNV-1 alqoritmini xüsusi bir smoothie hazırlamaq üçün bir resept kimi düşünək. Əlavə etdiyiniz hər bir inqrediyent (meyvə, süd və ya bal kimi) hərflər, rəqəmlər və ya hətta bütün fayl kimi bir məlumatı təmsil edir.
İndi məqsəd bu inqrediyentləri çox spesifik şəkildə qarışdırmaqdır ki, reseptdəki ən kiçik dəyişiklik belə (məsələn, bir əlavə göyərti əlavə etmək) smoothie dadını tamamilə fərqli etsin. Haş funksiyaları belə işləyir – onlar hər bir unikal inqrediyentlər dəsti (və ya daxiletmə məlumatları) üçün unikal “ləzzət” (və ya hash dəyəri) yaradırlar.
FNV-1 alqoritminin bunu etmə üsulu çox addımlı bir prosesdir:
Addım 1: Baza ilə başlayın (Ofset Əsası)
Bunu blenderinizə xüsusi bir smoothie bazası tökmək kimi düşünün. Hansı inqrediyentləri əlavə etməyinizdən asılı olmayaraq, bu əsas həmişə eynidir. FNV-1-də buna "ofset əsası" deyilir - sadəcə dəbdəbəli başlanğıc nömrə.
Addım 2: Tərkibləri bir-bir əlavə edin (Məlumatların işlənməsi)
İndi siz inqrediyentlərinizi bir-bir əlavə etməyə başlayırsınız - deyək ki, bir çiyələk, sonra banan, sonra bir az bal. Bunların hər biri bir bayt verilənləri təmsil edir.
Addım 3: Gizli Multiplikatorla qarışdırın (FNV Prime)
Hər bir inqrediyenti əlavə etdikdən sonra qarışdırma düyməsini vurursunuz, lakin burada twist var: blender hər şeyi FNV prime adlanan gizli “sehrli nömrə” ilə çoxaldır. Bu, şeyi həqiqətən yaxşı qarışdırmağa kömək edir.
Addım 4: Sehrli bir tire əlavə edin (XOR Əməliyyatı)
Növbəti inqrediyenti əlavə etməzdən əvvəl bir az sehrli toz səpirsiniz (bu XOR əməliyyatıdır). Bu, ləzzəti gözlənilməz şəkildə dəyişdirmək, hətta kiçik dəyişikliklərin böyük fərq yaratmasını təmin etmək kimidir.
Addım 5: Bitənə qədər təkrarlayın
Hər şeyi emal edənə qədər hər yeni inqrediyentdən sonra qarışdırmağa və səpməyə davam edirsiniz.
Addım 6: Son Smoothie (Hash Dəyəri)
Bitirdikdən sonra smoothie tökürsən. Son dad (hesh dəyəri) inqrediyentlərin bu dəqiq birləşməsinə xasdır. Bir dənə əlavə qaragilə əlavə etsəydiniz, tam fərqli dadı olardı.
Burada təqdim olunan versiya orijinal FNV-1 64 bit versiyasıdır. Təkmilləşdirilmiş FNV-1a 64 bit versiyası da mövcuddur: Fowler-Noll-Vo FNV1a-64 Hash Kodu Kalkulyatoru