CRC-32C-Hash-Code-Rechner
Veröffentlicht: 17. Februar 2025 um 18:43:55 UTC
Hashcode-Rechner, der die Hashfunktion CRC-32C (Cyclic Redundancy Check 32 Bit, C-Variante) verwendet, um einen Hashcode basierend auf Texteingabe oder Dateiupload zu berechnen.CRC-32C Hash Code Calculator
Cyclic Redundancy Check (CRC) ist ein Fehlererkennungscode, der häufig verwendet wird, um versehentliche Änderungen an Rohdaten zu erkennen. Obwohl es sich technisch gesehen nicht um eine kryptografische Hash-Funktion handelt, wird CRC-32 aufgrund seiner Fähigkeit, aus einer Eingabe variabler Länge eine Ausgabe mit fester Größe (32 Bit) zu erzeugen, oft als Hash bezeichnet. Die auf dieser Seite dargestellte Version ist die CRC-32C-Variante, eine neuere, „intelligentere“ (bessere Fehlererkennung) Version, die auf modernen CPUs oft hardwarebeschleunigt ist (über SSE 4.2).
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-32C-Hash-Algorithmus
Ich bin kein Mathematiker, aber ich werde versuchen, diese Hash-Funktion mit einer einfachen Analogie zu erklären. Im Gegensatz zu vielen kryptografischen Hash-Funktionen handelt es sich hier nicht um einen besonders komplizierten Algorithmus, also wird es wahrscheinlich kein Problem sein ;-)
Stellen Sie sich vor, Sie verschicken einen Brief, haben aber Angst, dass er beschädigt werden könnte, bevor er beim Empfänger ankommt. Basierend auf dem Inhalt des Briefes berechnen Sie eine CRC-32-Prüfsumme und schreiben diese auf den Umschlag. Wenn der Empfänger den Brief erhält, kann er ebenfalls die Prüfsumme berechnen und prüfen, ob sie mit dem übereinstimmt, was Sie geschrieben haben. Wenn dies der Fall ist, wurde der Brief unterwegs nicht beschädigt oder verändert.
CRC-32 bewerkstelligt dies in einem vierstufigen Prozess:
Schritt 1: Fügen Sie zusätzlichen Platz hinzu (Polsterung)
- CRC fügt am Ende der Nachricht etwas zusätzlichen Platz hinzu (wie beim Verpacken von Erdnüssen in einer Schachtel).
- Dadurch werden Fehler leichter erkannt.
Schritt 2: Das magische Lineal (Das Polynom)
- CRC-32 verwendet zum Messen der Daten ein spezielles „magisches Lineal“.
- Stellen Sie sich dieses Lineal wie ein Muster aus Beulen und Rillen vor (das ist das Polynom, aber machen Sie sich wegen dieses Wortes keine Gedanken).
- Das gebräuchlichste „Maß“ für CRC-32 ist ein festes Muster.
Schritt 3: Verschieben des Lineals (Teilungsprozess)
- Nun schiebt CRC das Lineal über die Nachricht.
- An jeder Stelle wird geprüft, ob die Unebenheiten und Rillen in einer Linie liegen.
- Wenn sie nicht übereinstimmen, macht CRC eine Notiz (das geschieht durch ein einfaches XOR, ähnlich wie das Ein- oder Ausschalten von Schaltern).
- Es werden immer wieder Schalter geschoben und umgelegt, bis das Ende erreicht ist.
Schritt 4: Das Endergebnis (Die Prüfsumme)
- Nachdem Sie das Lineal über die gesamte Nachricht gezogen haben, bleibt eine kleine Zahl (32 Bit lang) übrig, die die Originaldaten darstellt.
- Diese Nummer ist wie ein einzigartiger Fingerabdruck für die Nachricht.
- Dies ist die CRC-32-Prüfsumme.
Die auf der Seite dargestellte Version ist die CRC-32C-Variante. Diese sollte die bevorzugte Variante sein, insbesondere wenn Sie eine hardwarebeschleunigte CPU verwenden (SSE 4.2 und höher) und keine Kompatibilität mit anderen Varianten benötigen.
Ich habe auch Rechner für die anderen Varianten: