CRC-32 Hash Generator
Standard-Zyklische-Redundanzprüfung für Datenintegrität
CRC-32 (Zyklische Redundanzprüfung 32 Bit) ist die weltweit am häufigsten verwendete nicht-kryptographische Prüfsummenfunktion. Sie erzeugt einen 32-Bit-Hash (8 Hex-Zeichen) mittels Polynomdivision. CRC-32 findet sich überall: ZIP- und PNG-Dateiformate, Ethernet-Netzwerke, USB-Protokolle und Dateisysteme.
Was ist CRC-32?
CRC-32 behandelt die Eingabedaten als riesiges Polynom und berechnet den Rest bei Division durch ein festes Generatorpolynom. Dies ist besonders effizient durch tabellarische Lookup-Tables und Hardware-Optimierungen.
✅ Vorteile von CRC-32
- • Hardwarebeschleunigung: Intel CRC32-Anweisungen berechnen mit Speichergeschwindigkeit
- • Starke Fehlererkennung: Erkennt alle einfachen, doppelten und ungeraden Bitfehler
- • Universeller Standard: Ethernet, USB, ZIP, PNG, MPEG-2
- • Einfach und schnell: Lookup-Tables für schnelle Berechnung
📊 Häufige Anwendungsfälle
- • Dateiarchivierung: ZIP- und gzip-Integritätsprüfung
- • Netzwerke: Ethernet-Frame-Verifizierung
- • Speicher: Dateisystem-Integritätsprüfung
- • Medienformate: PNG- und MPEG-Dateiintegrität
⚠️ Sicherheitshinweis
CRC-32 ist keine kryptographische Hashfunktion. Es wurde zur Erkennung zufälliger Fehler entwickelt, nicht als Schutz gegen absichtliche Manipulation.
🔄 CRC-32 im Vergleich
CRC-32
32 Bit, Polynom
Fehlererkennung, nicht kryptographisch
Adler-32
32 Bit, arithmetisch
Schneller, aber schwächere Erkennung
MD5
128 Bit, kryptographisch
Viel langsamer, aber sicher
❓ Häufig gestellte Fragen
Was ist der Unterschied zwischen CRC-32 und CRC-32B?
Sie verwenden verschiedene Generatorpolynome. CRC-32 verwendet das Ethernet-Polynom, während CRC-32B die Variante ist, die PHP standardmäßig berechnet.
Warum wird CRC-32 nicht für Sicherheit verwendet?
CRC-32 ist linear und umkehrbar. Ein Angreifer kann leicht absichtlich Kollisionen erzeugen.
Kann CRC-32 alle Fehler erkennen?
Nein. CRC-32 erkennt 100% der Ein- und Zweibitfehler und alle ungeraden Fehler, kann aber bestimmte Fehlermuster über 32 Bit Länge übersehen.