简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// checksum utility
CRC32Checksum-Tool
NUR CLIENT-SEITIG
KEINE DATEN ÜBERTRAGEN
🔵Alle Berechnungen werden ausgeführtlokal in Ihrem Browser. Es werden keine Daten auf einen Server hochgeladen. Unterstützt die Varianten CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2 und CRC-32/BZIP2.
Berechnungseinstellungen
CRC Variante ↗
Eingabekodierung ↗
Ausgabeformat ↗
Eingabedaten
Legen Sie hier eine Datei ab
Ready – Daten eingeben und auf „CRC32 berechnen“ klicken
Berechnungsergebnisse
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Prüfsummenüberprüfung
Fügen Sie einen erwarteten CRC32-Wert ein, um ihn mit der aktuellen Berechnung zu vergleichen.
Eingabebytes
0
Gesamtberechnungen
0
Aktuelle Variante
ISO-HDLC
Elapsed (ms)
// CRC32 Variant Guide
CRC-Varianten
CRC-32 / ISO-HDLCPKZip · PNG · Ethernet
Die häufigste CRC-32-Implementierung, auch CRC-32b genannt. Es verwendet die reflektierte Form des Polynoms 0x04C11DB7, nämlich 0xEDB88320. Sowohl Eingabebytes als auch Ausgabe werden bitreflektiert (LSB zuerst), wobei der Anfangswert und das endgültige XOR beide auf 0xFFFFFFFF gesetzt sind.

Wird häufig von ZIP, gzip, PNG-Bildern, Ethernet-Frames (IEEE 802.3), PKCS#7 und vielen älteren Systemen verwendet. Dies ist de facto die „Standard-CRC-32“-Variante.
Polynom0x04C11DB7(normal) /0xEDB88320(reflektiert)
Anfangswert0xFFFFFFFF
EingabereflexionJa (RefIn = true)
AusgabereflexionYes (RefOut = true)
Final XOR0xFFFFFFFF
Wert prüfen0xCBF43926(für „123456789“)
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
Diese Variante wurde 1993 von G. Castagnoli und Kollegen vorgeschlagen und verwendet das Polynom 0x1EDC6F41 (gespiegelte Form 0x82F63B78). Bei gleicher Hamming-Distanz bietet es eine stärkere Burst-Fehlererkennung als das ISO-HDLC-Polynom.

Hardwarebeschleunigung ist über Intel SSE4.2- und ARM CRC32-Anweisungen verfügbar. Es wird häufig in modernen Speicher- und Transportprotokollen wie iSCSI, NVMe, Btrfs und SCTP verwendet.
Polynom0x1EDC6F41(normal) /0x82F63B78(reflektiert)
Anfangswert0xFFFFFFFF
EingabereflexionJa (RefIn = true)
AusgabereflexionYes (RefOut = true)
Final XOR0xFFFFFFFF
Wert prüfen0xE3069283(für „123456789“)
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
Verwendet dasselbe 0x04C11DB7-Polynom wie ISO-HDLC, aber weder Eingabe noch Ausgabebit-reflektiert(MSB zuerst, Big-Endian). Der Anfangswert ist 0xFFFFFFFF und das letzte XOR ist deaktiviert (XorOut = 0x00000000).

Wird hauptsächlich für PSI/SI-Tabellen in MPEG-2-Transportströmen (PAT, PMT, NIT und verwandte Tabellen) sowie für Integritätsprüfungen in DVB- und ATSC-Rundfunksystemen verwendet.
Polynom0x04C11DB7
Anfangswert0xFFFFFFFF
EingabereflexionNo (RefIn = false)
AusgabereflexionNo (RefOut = false)
Final XOR0x00000000(deaktiviert)
Wert prüfen0x0376E6E7(für „123456789“)
CRC-32 / BZIP2BZip2 · AAL5 · DECT
Seine Parameter sind nahezu identisch mit denen von MPEG-2 (Polynom 0x04C11DB7, keine Reflexion, Anfangswert 0xFFFFFFFF). Der einzige Unterschied ist afinal XOR mit 0xFFFFFFFF, was jedes Bit umdreht. Es ist auch als CRC-32/AAL5 oder CRC-32/DECT-B bekannt.

Wird vom BZip2-komprimierten Dateiformat und dem Trailer-Prüfsummenfeld des ATM-AAL5-Protokolls verwendet.
Polynom0x04C11DB7
Anfangswert0xFFFFFFFF
EingabereflexionNo (RefIn = false)
AusgabereflexionNo (RefOut = false)
Final XOR0xFFFFFFFF
Wert prüfen0xFC891918(für „123456789“)
// Input Encoding Guide
Eingabekodierung
UTF-8-TextDefault · Allgemein
Behandelt die Eingabe alsUTF-8string, wandelt ihn in Bytes um und berechnet dann CRC32. Dies ist der gebräuchlichste Modus für einfachen Text, Quellcode, JSON und ähnliche Inhalte.

Hinweis: Derselbe Text, der mit einem anderen Zeichensatz wie GBK oder UTF-16 codiert ist, erzeugt einen anderen Bytestrom und daher einen anderen CRC32-Wert. Dieses Tool verwendet immer UTF-8.
Am besten fürKlartext, Quellcode, JSON, XML
Beispiel"Hallo" →48 65 6C 6C 6F(5 Bytes)
CJK ZeichenDie meisten CJK-Zeichen verwenden 3 Bytes in UTF-8
HexadezimalBinärdaten · Protokollrahmen
Behandelt die Eingabe als unformatierthexadezimale Byteliterale. Leerzeichen und Zeilenumbrüche werden ignoriert. Alle zwei Hexadezimalzeichen werden zu einem Byte (00–FF).

Nützlich, wenn Sie CRC-Prüfungen für genaue Binärdaten wie Netzwerkframes, Firmware-Image-Fragmente oder Speicherabbilder benötigen. Sie können die Wireshark- oder Hex-Dump-Ausgabe direkt einfügen.
FormatNur0-9unda-f / A-Fsind erlaubt
ZeichenanzahlMuss gerade sein (2 Zeichen pro Byte)
Beispiel48656C6C6F= „Hallo“ (5 Bytes)
LeerzeichenAutomatisch ignoriert.48 65 6Cist dasselbe wie48656C
Base64Encoded Binary · Zertifikate · Bilder
Behandelt die Eingabe alsBase64-codierte Zeichenfolge, dekodiert es in Rohbytes und berechnet dann CRC32. Nützlich für PEM-Zertifikate, JWT-Nutzlasten, Daten-URIs und andere Base64-Inhalte.

Unterstützt das Standard-Base64-Alphabet (A-Z a-z 0-9 + /). Das Füllzeichen=ist optional. URL-sicheres Base64 (-_) wird nicht unterstützt.
AlphabetA-Z a-z 0-9 + / =
BeispielSGVsbG8=→ „Hallo“ (5 Bytes)
URL-sicherNicht unterstützt. Ersetzen-→+und_→/first
⚠ 1 ZeichenInvalid – 6 Bits reichen nicht aus, um 1 Byte zu bilden (8 Bits erforderlich)
2 ZeichenDekodiert zu1 Byte(mindestens gültige Eingabe)
3 ZeichenDekodiert zu2 Bytes
4 ZeichenDekodiert zu3 Bytes(das Muster wiederholt sich alle 4 Zeichen)
// Output Format Guide
Ausgabeformat
HexadezimalAm häufigsten · Standard
Zeigt den Wert als 8-stellige Hexadezimalzahl in Großbuchstaben mit dem Präfix an0x. Jedes Zeichen repräsentiert 4 Bits, also insgesamt 32 Bits. Dies ist das Standardformat, das in den meisten Tools, Quellcodes und Dokumentationen verwendet wird.

Im Vergleich zur dezimalen Ausgabe erleichtert die hexadezimale Ausgabe die Überprüfung von Bytegrenzen und gleicht Speicherauszüge und Protokollfelder natürlicher ab.
Beispiel0xCBF43926
Length8 Hexadezimalzeichen = 32 Bit
BaseBasis 16 (0-9, A-F)
Am besten fürCode, Dokumentation, Wireshark, Hex-Editoren
DecimalVorzeichenlose 32-Bit-Ganzzahl
Zeigt die Prüfsumme als anunsigned 32-Bit-Dezimal-Ganzzahlim Bereich 0–4.294.967.295 (2³²−1). Einige Sprachen und Tools vergleichen CRC-Werte in Dezimalform und Datenbankfelder speichern diese Darstellung häufig.

Hinweis: CRC32-Ergebnisse sollten als vorzeichenlose Ganzzahlen behandelt werden. In vorzeichenbehafteten int-Typen wie Java oder C# können Werte über 0x7FFFFFFF negativ erscheinen und sollten in uint oder eine breitere vorzeichenlose Darstellung konvertiert werden.
Beispiel3421780262
Range0–4,294,967,295
HinweisFür Java int, konvertieren mit& 0xFFFFFFFFL
Am besten fürDatenbanken, Python-Strukturwerte, numerischer Vergleich
BinärBit-Level-Analyse
Zeigt die Prüfsumme als 32-Bit-Binärzeichenfolge mit dem Präfix an0b. Jedes Zeichen ist 0 oder 1, ausgerichtet am höchstwertigen Bit auf der linken Seite und bei Bedarf mit führenden Nullen aufgefüllt.

Hauptsächlich nützlich zum Verständnis des internen CRC-Algorithmus, zum Studium der Polynomdivision, zum Unterrichten und für eingebettete Szenarien, die eine Prüfsummenverarbeitung auf Bitebene erfordern.
Beispiel0b11001011…00100110
LengthFest auf 32 Bit mit linker Nullauffüllung
Höchstes BitBit 31 (MSB) erscheint ganz links
Am besten fürAlgorithmusanalyse, Unterricht, eingebettetes Debugging
OctalUnix · Dateisysteme
Zeigt die Prüfsumme als 11-stellige Oktalzahl mit dem Präfix an0o. Für 32 Bit werden höchstens 11 Oktalzeichen benötigt, da 3×11 = 33 > 32. Jede Oktalziffer repräsentiert 3 Bits.

Oktale Ausgabe ist in modernen CRC-Workflows ungewöhnlich, kommt aber immer noch in einigen Unix-Tools, eingebetteten Firmware-Toolchains und älteren Kommunikationsprotokollspezifikationen vor.
Beispiel0o31572031046
LengthBis zu 11 Oktalziffern
Pro ZifferRepräsentiert 3 Bits (0-7)
Am besten fürUnix-Tools, ältere Protokollspezifikationen