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
- 32-bitlik bir kayıtçıyı tümüyle 1 (0xFFFFFFFF) olarak başlatın.
- Her baytı, kayıtçının en üst baytı ile XOR işlemi yaparak ve önceden hesaplanmış bir arama tablosuna indeksleyerek işleyin.
- Kayıtçıyı 8 bit kaydırın ve tablo değeri ile XOR yapın.
- Tüm baytlar işlenene kadar tekrarlayın.
- 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
Input | CRC-32 |
---|---|
Hello World | 4a17b156 |
password | 477dff2a |
test123 | c4b96aea |
(boş) | 00000000 |
CRC-32 ve diğer sağlama değerleri ve hashler
Algorithm | Output | Çarpışma Direnci | Speed |
---|---|---|---|
CRC-32 | 32 bit | ❌ Düşük | ⚡ Çok hızlı |
MD5 | 128 bit | ❌ Kırılmış | ⚡ Hızlı |
SHA-1 | 160 bit | ❌ Tehlikeye girmiş | ⚡ Hızlı |
SHA-256 | 256 bit | ✅ Güvenli | 🚀 Orta |
BLAKE3 | 256 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.