CRC-32B-Hash-Code-Rechner
Veröffentlicht: 17. Februar 2025 um 18:23:49 UTC
Zuletzt aktualisiert: 12. Januar 2026 um 09:15:41 UTC
CRC-32B Hash Code Calculator
Die zyklische Redundanzprüfung (CRC) ist ein Fehlererkennungscode, der häufig verwendet wird, um versehentliche Änderungen an Rohdaten zu erkennen. Obwohl CRC-32 technisch gesehen keine kryptografische Hash-Funktion ist, wird sie aufgrund ihrer Fähigkeit, aus Eingaben variabler Länge eine Ausgabe fester Größe (32 Bit) zu erzeugen, oft als Hash bezeichnet. Die hier vorgestellte Version ist die Variante CRC-32B, die lediglich eine Besonderheit der PHP-Sprache darstellt, indem sie die Bitreihenfolge umkehrt (Little-Endian statt Big-Endian wie bei der ursprünglichen CRC-32).
Vollständige Offenlegung: Ich habe die spezielle Implementierung der auf dieser Seite verwendeten Hash-Funktion nicht geschrieben. Es handelt sich um eine Standardfunktion, die in der Programmiersprache PHP enthalten ist. Ich habe lediglich die Webschnittstelle erstellt, um sie hier der Einfachheit halber öffentlich zugänglich zu machen.
Über den CRC-32B-Hash-Algorithmus
Ich bin kein Mathematiker, aber ich versuche, diese Hash-Funktion anhand einer einfachen Analogie zu erklären. Im Gegensatz zu vielen kryptografischen Hash-Funktionen ist es kein besonders komplizierter Algorithmus, also sollte es klappen ;-)
Stellen Sie sich vor, Sie verschicken einen Brief, befürchten aber, dass er auf dem Weg zum Empfänger beschädigt werden könnte. Anhand des Briefinhalts berechnen Sie eine CRC-32-Prüfsumme und notieren diese auf dem Umschlag. Sobald der Empfänger den Brief erhält, kann er die Prüfsumme ebenfalls berechnen und mit Ihrer vergleichen. Stimmt sie überein, wurde der Brief auf dem Transportweg weder beschädigt noch verändert.
CRC-32 verwendet hierfür einen vierstufigen Prozess:
Schritt 1: Zusätzlichen Platz hinzufügen (Polsterung)
- CRC fügt am Ende der Nachricht etwas zusätzlichen Platz hinzu (ähnlich wie Füllmaterial in einer Schachtel).
- Dadurch lassen sich Fehler leichter erkennen.
Schritt 2: Das magische Lineal (Das Polynom)
- CRC-32 verwendet ein spezielles Messverfahren, das als „magisches Lineal“ bezeichnet wird. Stellen Sie sich dieses Lineal wie ein Muster aus Erhebungen und Rillen vor (dies entspricht dem Polynom, aber lassen Sie den Begriff außer Acht). Das gebräuchlichste Messverfahren für CRC-32 ist ein festes Muster.
Schritt 3: Verschieben des Lineals (Teilungsprozess)
- CRC fährt nun mit dem Lineal über die Nachricht. An jeder Stelle prüft es, ob die Erhebungen und Rillen übereinstimmen. Falls nicht, macht CRC eine entsprechende Meldung (dies geschieht mittels einfacher XOR-Verknüpfung, ähnlich dem Ein- und Ausschalten von Schaltern). Es fährt so lange fort, bis es das Ende erreicht hat.
Schritt 4: Das Endergebnis (Die Prüfsumme)
- Nachdem man das Lineal über die gesamte Nachricht geschoben hat, erhält man eine kleine Zahl (32 Bit lang), die die ursprünglichen Daten repräsentiert. Diese Zahl ist wie ein eindeutiger Fingerabdruck der Nachricht. Dies ist die CRC-32-Prüfsumme.
Die hier dargestellte Version ist die CRC-32B-Variante. Dabei handelt es sich im Wesentlichen um eine PHP-Besonderheit, die die Bitreihenfolge umkehrt (Little-Endian vs. Big-Endian). Sie sollten diese Version wahrscheinlich nur verwenden, wenn Sie unbedingt Kompatibilität mit einer anderen PHP-Anwendung benötigen, die diese Variante verwendet.
Ich habe auch Rechner für die anderen Varianten:
- Link
- Link
Weitere Informationen
Wenn Ihnen dieser Beitrag gefallen hat, könnten Ihnen auch diese Vorschläge gefallen:
