CRC-32 Hash Generator

Dosya ve ağ iletişimlerinde veri bütünlüğü doğrulaması ve hata tespiti için CRC-32 kontrollerini hesaplayın

Bu örnekleri deneyin:

CRC-32 nedir?

CRC-32 (Cyclic Redundancy Check, 32-bit) verilerdeki kazara değişiklikleri tespit etmek için kullanılan hızlı bir sağlama algoritmasıdır. Girdi verisinin polinom bölümü temelinde 32-bit (8 onaltılık karakter) bir değer üretir. Ağlarda, depolama aygıtlarında ve dosya formatlarında hata kontrolü için donanım ve yazılımda yaygın olarak uygulanır.

CRC-32 nasıl çalışır

  1. 32-bitlik bir kayıtçıyı tümüyle 1 (0xFFFFFFFF) olarak başlatın.
  2. Her baytı, kayıtçının en üst baytı ile XOR işlemi yaparak ve önceden hesaplanmış bir arama tablosuna indeksleyerek işleyin.
  3. Kayıtçıyı 8 bit kaydırın ve tablo değeri ile XOR yapın.
  4. Tüm baytlar işlenene kadar tekrarlayın.
  5. Son olarak kayıtçıyı ters çevirin (bitwise NOT) ve CRC-32 değerini elde edin.

Yaygın uygulamalar

  • ZIP, gzip, PNG ve diğer dosya formatlarında bütünlük kontrolleri için
  • Ethernet, PPP ve diğer ağ protokolleri
  • HDD, SSD ve RAID denetleyicileri gibi depolama aygıtları
  • Arşiv doğrulama ve indirme bütünlüğü kontrolleri

Örnek sağlama değerleri

InputCRC-32
Hello World4a17b156
password477dff2a
test123c4b96aea
(boş)00000000

CRC-32 ve diğer sağlama değerleri ve hashler

AlgorithmOutputÇarpışma DirenciSpeed
CRC-3232 bit❌ Düşük⚡ Çok hızlı
MD5128 bit❌ Kırılmış⚡ Hızlı
SHA-1160 bit❌ Tehlikeye girmiş⚡ Hızlı
SHA-256256 bit✅ Güvenli🚀 Orta
BLAKE3256 bit✅ Çok güvenli⚡ Çok hızlı

Sıkça Sorulan Sorular

CRC-32 kriptografik kullanım için güvenli midir?

Hayır. CRC-32 hata tespiti için tasarlanmıştır, güvenlik için değil. Kasıtlı çarpışmalara karşı savunmasızdır.

Neden kriptografik hash yerine CRC-32 kullanılır?

CRC-32 çok daha hızlıdır ve kazara hataları tespit etmek için yeterlidir, ancak güvenlik kritik uygulamalarda kullanılmamalıdır.

Bir dosya indirmenin doğruluğunu nasıl kontrol edebilirim?

İndirilen dosyanın CRC-32 sağlama değerini oluşturun ve bütünlüğü sağlamak için yayınlanan değerle karşılaştırın.

Resources