Miklix

CRC-32B Hash Kodu Hesaplayıcı

Yayınlandı: 17 Şubat 2025 18:30:56 UTC
Son güncelleme: 12 Ocak 2026 09:16:08 UTC

Metin girdisine veya dosya yüklemesine göre karma kod hesaplamak için CRC-32B (Döngüsel Artıklık Kontrolü 32 bit, B varyantı) karma fonksiyonunu kullanan karma kod hesaplayıcı.

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:

CRC-32B Hash Code Calculator

Döngüsel Artıklık Kontrolü (CRC), ham verilerdeki kazara değişiklikleri tespit etmek için yaygın olarak kullanılan bir hata tespit kodudur. Teknik olarak bir kriptografik karma fonksiyonu olmasa da, CRC-32, değişken uzunluktaki girdiden sabit boyutlu bir çıktı (32 bit) üretebilme yeteneği nedeniyle genellikle bir karma fonksiyonu olarak adlandırılır. Bu sayfada sunulan sürüm, aslında PHP dilinde bitleri tersine çeviren (orijinal CRC-32'deki küçük endian yerine büyük endian) bir tuhaflık olan CRC-32B varyantıdır.

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.



CRC-32B Karma Algoritması Hakkında

Matematikçi değilim ama bu karma fonksiyonunu basit bir benzetmeyle açıklamaya çalışacağım. Birçok kriptografik karma fonksiyonunun aksine, özellikle karmaşık bir algoritma değil, bu yüzden muhtemelen sorun olmayacaktır ;-)

Postayla bir mektup gönderdiğinizi, ancak alıcıya ulaşmadan önce hasar görmesinden endişe ettiğinizi hayal edin. Mektubun içeriğine dayanarak bir CRC-32 sağlama toplamı hesaplıyorsunuz ve bunu zarfın üzerine yazıyorsunuz. Alıcı mektubu aldığında, o da sağlama toplamını hesaplayabilir ve sizin yazdığınızla eşleşip eşleşmediğini görebilir. Eşleşiyorsa, mektup yolda hasar görmemiş veya değiştirilmemiştir.

CRC-32 bunu dört aşamalı bir süreçle gerçekleştirir:

Adım 1: Biraz Ekstra Boşluk (Dolgu) Ekleyin

  • CRC, mesajın sonuna biraz daha boşluk ekliyor (tıpkı bir kutuya konulan köpük dolgu malzemesi gibi).
  • Bu, hataları daha kolay tespit etmesine yardımcı olur.

Adım 2: Sihirli Cetvel (Polinom)

  • CRC-32, verileri ölçmek için özel bir "sihirli cetvel" kullanır. Bu cetveli, tümsekler ve oluklardan oluşan bir desen gibi düşünün (bu polinomdur, ancak bu kelimeye takılmayın). CRC-32 için en yaygın "cetvel", sabit bir desendir.

3. Adım: Cetveli Kaydırma (Bölme İşlemi)

  • Şimdi CRC cetveli mesajın üzerinde kaydırıyor. Her noktada, çıkıntıların ve olukların hizalanıp hizalanmadığını kontrol ediyor. Eğer hizalanmıyorsa, CRC bir not alıyor (bu, anahtarları açıp kapatmak gibi basit bir XOR işlemi kullanılarak yapılır). Sonuna ulaşana kadar cetveli kaydırmaya ve anahtarları açıp kapatmaya devam ediyor.

Adım 4: Nihai Sonuç (Sağlama Toplamı)

  • Cetveli tüm mesaj üzerinde kaydırdıktan sonra, orijinal veriyi temsil eden küçük bir sayı (32 bit uzunluğunda) elde edersiniz. Bu sayı, mesaj için benzersiz bir parmak izi gibidir. Bu, CRC-32 sağlama toplamıdır.

Sayfada sunulan sürüm, çoğunlukla PHP'nin bit sırasını değiştiren (küçük endian yerine büyük endian) bir özelliği olan CRC-32B varyantıdır. Bu sürümü yalnızca, onu kullanan başka bir PHP uygulamasıyla uyumluluğa özellikle ihtiyacınız varsa kullanmalısınız.

Diğer varyantlar için de hesap makinelerim mevcut:

  • Bağlantı
  • Bağlantı

Daha Fazla Okuma

Bu yazıyı beğendiyseniz, şu öneriler de ilginizi çekebilir:


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

Mikkel Christensen

Yazar Hakkında

Mikkel 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.