Miklix

MurmurHash3F Hash Kodu Hesaplayıcı

Yayınlandı: 18 Şubat 2025 00:28:20 UTC

Metin girişi veya dosya yüklemesine göre bir karma kodu hesaplamak için MurmurHash3F 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:

MurmurHash3F Hash Code Calculator

MurmurHash3, Austin Appleby tarafından 2008 yılında tasarlanan kriptografik olmayan bir karma işlevidir. Hızı, basitliği ve iyi dağıtım özellikleri nedeniyle genel amaçlı karma için yaygın olarak kullanılır. MurmurHash işlevleri, karma tabloları, bloom filtreleri ve veri çoğaltma sistemleri gibi karma tabanlı veri yapıları için özellikle etkilidir.

Bu sayfada sunulan varyant, 64 bit sistemler için optimize edilmiş 3F varyantıdır. Genellikle 32 basamaklı onaltılık sayı olarak temsil edilen 128 bit (16 bayt) karma kodları üretir.

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.



MurmurHash3F 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, tam bir matematik açıklamasını tercih ederseniz, eminim bunu başka bir yerde bulabilirsiniz ;-)

Şimdi, büyük bir LEGO tuğla kutunuz olduğunu hayal edin. Her seferinde onları belirli bir şekilde düzenlediğinizde bir fotoğraf çekersiniz. Düzenleme ne kadar büyük veya renkli olursa olsun, kamera size her zaman küçük, sabit boyutlu bir fotoğraf verir. Bu fotoğraf, LEGO yaratımınızı temsil eder, ancak kompakt bir biçimde.

MurmurHash3, verilerle benzer bir şey yapar. Herhangi bir veri türünü (metin, sayılar, dosyalar) alır ve onu küçük, sabit bir "parmak izi" veya karma değerine küçültür. Bu parmak izi, bilgisayarların tüm şeye bakmaya gerek kalmadan verileri hızlı bir şekilde tanımlamasına, sıralamasına ve karşılaştırmasına yardımcı olur.

Başka bir benzetme, bir kek pişirmek gibi olurdu ve MurmurHash3, bu keki küçük bir kek (hash) haline getirmenin tarifidir. Bu, üç adımlı bir süreç olurdu:

Adım 1: Veriyi Parçalara Ayırın (Verileri Parçalayın)

  • Öncelikle MurmurHash3 verilerinizi pastayı eşit karelere böler gibi eşit parçalara böler.

Adım 2: Çılgınca Karıştırın (Parçaları Karıştırın)

  • Her parça çılgın bir miksleme sürecinden geçiyor:
    • Çevirme: Bir krepi çevirmek gibi, parçaları yeniden düzenler.
    • Karıştırma: Şeyleri karıştırmak için rastgele bileşenler (matematiksel işlemler) eklemek.
    • Sıkıştırma: Verileri bir araya sıkıştırarak orijinal parçalardan hiçbirinin öne çıkmamasını sağlar.

Adım 3: Son Tadım Testi (Sonlandırma)

  • MurmurHash3, tüm parçaları karıştırdıktan sonra, orijinal verilerdeki en ufak bir değişikliğin bile lezzeti (hash'i) tamamen değiştireceğinden emin olmak için son bir karıştırma işlemi yapar.

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.