Miklix

CRC-32C Hash Kodu Hesaplayıcı

Yayınlandı: 17 Şubat 2025 18:45:21 UTC

Metin girişi veya dosya yüklemesine dayalı olarak bir karma kodu hesaplamak için CRC-32C (Döngüsel Yeniden Kullanım Denetimi 32 bit, C değişkeni) 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:

CRC-32C Hash Code Calculator

Döngüsel Tekrarlılık Denetimi (CRC), ham verilerde kazara meydana gelen değişiklikleri algılamak için yaygın olarak kullanılan bir hata algılama kodudur. Teknik olarak bir kriptografik karma işlevi olmasa da, CRC-32 değişken uzunluktaki girdiden sabit boyutlu bir çıktı (32 bit) üretme yeteneği nedeniyle genellikle bir karma olarak anılır. Bu sayfada sunulan sürüm, modern CPU'larda (SSE 4.2 aracılığıyla) genellikle donanım hızlandırmalı olan daha yeni, "daha akıllı" (daha iyi hata algılama) bir sürüm olan CRC-32C çeşididir.

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-32C Karma Algoritması Hakkında

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

Postayla bir mektup gönderdiğinizi düşünün, ancak alıcıya ulaşmadan önce hasar görebileceğinden endişe ediyorsunuz. Mektubun içeriğine göre bir CRC-32 kontrol toplamı hesaplayıp bunu zarfa yazıyorsunuz. Alıcı mektubu aldığında, o da kontrol toplamını hesaplayabilir ve yazdıklarınızla uyuşup uyuşmadığını görebilir. Eğer uyuşuyorsa, mektup hasar görmemiş veya yol boyunca değiştirilmemiştir.

CRC-32'nin bunu gerçekleştirmesi dört adımlı bir süreçtir:

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

  • CRC mesajın sonuna biraz daha fazla alan ekliyor (tıpkı bir kutuya fıstık koymak 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 çıkıntılar ve oluklardan oluşan bir desen gibi düşünün (bu bir polinomdur, ancak bu kelimeyi dert etmeyin).
    • CRC-32 için en yaygın "cetvel" sabit bir desendir.

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

  • Şimdi CRC cetveli mesajın üzerine kaydırır.
    • Her noktada çıkıntıların ve olukların hizalanıp hizalanmadığı kontrol edilir.
    • Eğer hizalanmıyorlarsa, CRC bir not alır (bu, anahtarları açıp kapatmak gibi basit bir XOR kullanılarak yapılır).
    • Sonuna gelene kadar kaydırmaya ve anahtarları çevirmeye devam ediyor.

Adım 4: Sonuç (Kontrol Toplamı)

  • Cetveli tüm mesajın üzerinde kaydırdığınızda, orijinal veriyi temsil eden küçük bir sayı (32 bit uzunluğunda) kalır.
    • Bu sayı mesajın adeta eşsiz parmak izidir.
    • Bu CRC-32 kontrol toplamıdır.

Sayfada sunulan versiyon CRC-32C versiyonudur ve özellikle donanım hızlandırmalı (SSE 4.2 ve üzeri) bir CPU kullanıyorsanız ve diğer versiyonlarla uyumluluğa ihtiyacınız yoksa tercih etmeniz gereken versiyondur.

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

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.