Miklix

Fowler-Noll-Vo FNV1a-32 Karma Kod Hesaplayıcı

Yayınlandı: 18 Şubat 2025 00:09:57 UTC

Metin girişi veya dosya yüklemesine dayalı bir karma kodu hesaplamak için Fowler-Noll-Vo 1a 32 bit (FNV1a-32) karma işlevini kullanan karma kodu hesaplayıcısı.

Bu sayfa, mümkün olduğunca çok kişi tarafından erişilebilir olması amacıyla İngilizce'den makine çevirisiyle çevrilmiştir. Ne yazık ki, makine çevirisi henüz mükemmelleştirilmiş bir teknoloji değildir, bu nedenle hatalar meydana gelebilir. Tercih ederseniz, orijinal İngilizce versiyonu buradan görüntüleyebilirsiniz:

Fowler-Noll-Vo FNV1a-32 Hash Code Calculator

FNV-1a 32 bitlik karma işlevi, karma değerlerinin iyi bir dağıtımını korurken hızlı karma için tasarlanmış Fowler–Noll–Vo (FNV) karma işlevleri ailesinin bir parçasıdır. Genellikle karma tabloları, toplam kontrolleri ve veri aramaları gibi uygulamalarda kullanılır. Genellikle 8 basamaklı bir onaltılık sayı olarak gösterilen 32 bitlik (4 bayt) bir karma kodu üretir.

FNV-1a versiyonu, orijinal FNV-1 fonksiyonuna göre daha iyi güvenlik özelliklerine sahip geliştirilmiş bir versiyondur.

Tam açıklama: Bu sayfada kullanılan hash fonksiyonunun özel uygulamasını ben yazmadım. PHP programlama dili ile birlikte gelen standart bir işlevdir. Ben sadece kolaylık sağlaması için burada herkese açık hale getirmek için web arayüzünü yaptım.


Yeni Hash Kodunu Hesapla

Bu form aracılığıyla gönderilen veriler veya yüklenen dosyalar yalnızca istenen karma kodun oluşturulması için gereken süre boyunca sunucuda tutulacaktır. Sonuç tarayıcınıza döndürülmeden hemen önce silinecektir.

Girdi verileri:



Gönderilen metin UTF-8 kodludur. Hash fonksiyonları ikili veriler üzerinde çalıştığından, sonuç metnin başka bir kodlamada olmasından farklı olacaktır. Belirli bir kodlamadaki bir metnin hashini hesaplamanız gerekiyorsa, bunun yerine bir dosya yüklemelisiniz.



Fowler-Noll-Vo FNV-1a 32 bit Karma Algoritması Hakkında

Matematikçi değilim ama bu karma fonksiyonunu matematikçi olmayan arkadaşlarımın anlayabileceği bir benzetme kullanarak açıklamaya çalışacağım. Bilimsel olarak doğru, korkutucu matematiksel bir açıklamayı tercih ederseniz, eminim bunu başka bir yerde bulabilirsiniz ;-)

Öncelikle, FNV-1 algoritmasını özel bir smoothie yapmak için bir tarif gibi düşünelim. Eklediğiniz her bir bileşen (meyve, süt veya bal gibi) bir veri parçasını temsil eder - harfler, sayılar veya hatta tüm bir dosya gibi.

Şimdi, amaç bu malzemeleri çok özel bir şekilde karıştırmaktır, böylece tarifte en ufak bir değişiklik bile (örneğin bir yaban mersini daha eklemek) smoothie'nin tadını tamamen farklı hale getirir. Karma işlevleri böyle çalışır - her benzersiz malzeme seti (veya girdi verisi) için benzersiz bir "lezzet" (veya karma değeri) oluştururlar.

FNV-1 algoritmasının bunu gerçekleştirme şekli çok adımlı bir süreçtir:

Adım 1: Bir Tabanla Başlayın (Ofset Tabanı)

Bunu blenderınıza özel bir smoothie tabanı dökmek gibi düşünün. Bu taban, hangi malzemeleri eklerseniz ekleyin her zaman aynıdır. FNV-1'de buna "ofset tabanı" denir - sadece süslü bir başlangıç numarası.

Adım 2: Malzemeleri Tek Tek Ekleyin (Verileri İşleme)

Şimdi malzemelerinizi teker teker eklemeye başlayın - diyelim ki bir çilek, sonra bir muz, sonra biraz bal. Bunların her biri bir veri baytını temsil eder.

Adım 3: Gizli Bir Çarpanla Karıştırın (FNV Prime)

Her bir malzemeyi ekledikten sonra, karıştırma düğmesine basıyorsunuz, ancak burada bir değişiklik var: blender her şeyi FNV asal sayısı adı verilen gizli bir "sihirli sayı" ile çarpıyor. Bu, her şeyi gerçekten iyi karıştırmaya yardımcı oluyor.

Adım 4: Bir Sihir Parçası Ekleyin (XOR İşlemi)

Bir sonraki malzemeyi eklemeden önce, biraz sihirli toz serpin (bu XOR işlemidir). Lezzeti beklenmedik şekillerde değiştirmek gibidir, küçük değişikliklerin bile büyük bir fark yaratmasını sağlar.

Adım 5: Tamamlanana Kadar Tekrarlayın

Her yeni malzemeyi işledikten sonra karıştırmaya ve sihir serpiştirmeye devam ediyorsunuz, ta ki her şeyi işleyene kadar.

Adım 6: Son Smoothie (Karma Değer)

İşiniz bittiğinde, smoothie'yi dökün. Son tat (hash değeri) malzemelerin tam olarak o kombinasyonuna özgüdür. Bir tane bile fazladan yaban mersini ekleseydiniz, tadı tamamen farklı olurdu.

Burada sunulan sürüm, geliştirilmiş FNV-1a 32 bit sürümüdür. Orijinal sürüme ihtiyacınız varsa, bunun için bir hesap makinem de var: Fowler-Noll-Vo FNV1-32 Karma Kod Hesaplayıcısı

Bluesky'de paylaşFacebook'ta paylaşLinkedIn'de paylaşTumblr'da paylaşX'te paylaşLinkedIn'de paylaşPinterest'e Pinleyin

Mikkel Bang Christensen

Yazar Hakkında

Mikkel Bang Christensen
Mikkel miklix.com'un yaratıcısı ve sahibidir. Profesyonel bilgisayar programcısı/yazılım geliştiricisi olarak 20 yılı aşkın deneyime sahiptir ve şu anda büyük bir Avrupa BT şirketinde tam zamanlı olarak çalışmaktadır. Blog yazmadığı zamanlarda, boş zamanlarını çok çeşitli ilgi alanları, hobiler ve aktivitelerle geçirmektedir ve bu da bir dereceye kadar bu web sitesinde kapsanan konuların çeşitliliğine yansıyabilir.