简体中文 Tiếng Việt 日本語 한국어 हिन्दी Español Français العربية বাংলা Português Русский اردو Bahasa Indonesia Deutsch Naijá मराठी తెలుగు Türkçe தமிழ்
// checksum utility
CRC32Outil de somme de contrôle
CÔTÉ CLIENT UNIQUEMENT
AUCUNE DONNÉE TRANSMISE
🔵Tous les calculs sont exécutéslocally in your browser. Aucune donnée n'est téléchargée sur un serveur. Prend en charge les variantes CRC-32/ISO-HDLC, CRC-32C, CRC-32/MPEG-2 et CRC-32/BZIP2.
Paramètres de calcul
Variante CRC ↗
Encodage d'entrée ↗
Format de sortie ↗
Input Data
Déposez un fichier ici
Ready - entrez les données et cliquez sur "Calculer CRC32"
Calculation Results
ISO-HDLC
Castagnoli
MPEG-2
BZIP2
Vérification de la somme de contrôle
Collez une valeur CRC32 attendue pour la comparer au calcul actuel.
Input Bytes
0
Calculs totaux
0
Variante actuelle
ISO-HDLC
Elapsed (ms)
// CRC32 Variant Guide
Variantes CRC
CRC-32 / ISO-HDLCPKZip · PNG · Ethernet
L'implémentation CRC-32 la plus courante, également appelée CRC-32b. Il utilise la forme réfléchie du polynôme 0x04C11DB7, à savoir 0xEDB88320. Les octets d'entrée et la sortie sont réfléchis en bits (LSB en premier), avec la valeur initiale et le XOR final tous deux définis sur 0xFFFFFFFF.

Largement utilisé par ZIP, gzip, images PNG, trames Ethernet (IEEE 802.3), PKCS#7 et de nombreux systèmes existants. Il s'agit de la variante de facto "CRC-32 par défaut".
Polynôme0x04C11DB7(normal) /0xEDB88320(réfléchi)
Valeur initiale0xFFFFFFFF
Réflexion d'entréeOui (RefIn = vrai)
Réflexion de sortieYes (RefOut = true)
XOR final0xFFFFFFFF
Vérifier la valeur0xCBF43926(pour "123456789")
CRC-32C / CastagnoliiSCSI · NVMe · SCTP
Proposée par G. Castagnoli et ses collègues en 1993, cette variante utilise le polynôme 0x1EDC6F41 (forme réfléchie 0x82F63B78). À la même distance de Hamming, il offre une détection des erreurs de rafale plus efficace que le polynôme ISO-HDLC.

L'accélération matérielle est disponible via les instructions Intel SSE4.2 et ARM CRC32. Il est largement utilisé dans les protocoles de stockage et de transport modernes tels que iSCSI, NVMe, Btrfs et SCTP.
Polynôme0x1EDC6F41(normal) /0x82F63B78(réfléchi)
Valeur initiale0xFFFFFFFF
Réflexion d'entréeOui (RefIn = vrai)
Réflexion de sortieYes (RefOut = true)
XOR final0xFFFFFFFF
Vérifier la valeur0xE3069283(pour "123456789")
CRC-32 / MPEG-2MPEG-2 · DVB · ATSC
Utilise le même polynôme 0x04C11DB7 que ISO-HDLC, mais ni l'entrée ni la sortie ne sontbit-reflected(MSB en premier, gros-boutiste). La valeur initiale est 0xFFFFFFFF et le XOR final est désactivé (XorOut = 0x00000000).

Principalement utilisé pour les tables PSI/SI dans les flux de transport MPEG-2 (PAT, PMT, NIT et tables associées), ainsi que pour les contrôles d'intégrité dans les systèmes de diffusion DVB et ATSC.
Polynôme0x04C11DB7
Valeur initiale0xFFFFFFFF
Réflexion d'entréeNon (RefIn = faux)
Réflexion de sortieNon (RefOut = faux)
XOR final0x00000000(désactivé)
Vérifier la valeur0x0376E6E7(pour "123456789")
CRC-32 / BZIP2BZip2 · AAL5 · DECT
Ses paramètres sont quasiment identiques à MPEG-2 (polynôme 0x04C11DB7, pas de réflexion, valeur initiale 0xFFFFFFFF). La seule différence est unfinal XOR with 0xFFFFFFFF, qui bascule à chaque instant. Il est également connu sous le nom de CRC-32/AAL5 ou CRC-32/DECT-B.

Utilisé par le format de fichier compressé BZip2 et le champ de somme de contrôle de fin du protocole ATM AAL5.
Polynôme0x04C11DB7
Valeur initiale0xFFFFFFFF
Réflexion d'entréeNon (RefIn = faux)
Réflexion de sortieNon (RefOut = faux)
XOR final0xFFFFFFFF
Vérifier la valeur0xFC891918(pour "123456789")
// Input Encoding Guide
Encodage d'entrée
UTF-8 TextPar défaut · Général
Traite l'entrée comme unUTF-8string, le convertit en octets, puis calcule CRC32. Il s'agit du mode le plus courant pour le texte brut, le code source, le JSON et le contenu similaire.

Remarque : le même texte codé avec un jeu de caractères différent tel que GBK ou UTF-16 produit un flux d'octets différent et donc une valeur CRC32 différente. Cet outil utilise toujours UTF-8.
Idéal pourTexte brut, code source, JSON, XML
Exemple"Bonjour" →48 65 6C 6C 6F(5 octets)
CJK CaractèresLa plupart des caractères CJK utilisent 3 octets en UTF-8
HexadecimalDonnées binaires · Trames de protocole
Treats the input as rawlittéraux d'octets hexadécimaux. Les espaces et les sauts de ligne sont ignorés. Tous les deux caractères hexadécimaux deviennent un octet (00–FF).

Utile lorsque vous avez besoin de vérifications CRC pour des données binaires exactes telles que des trames réseau, des fragments d'image de micrologiciel ou des vidages de mémoire. Vous pouvez coller directement la sortie Wireshark ou le vidage hexadécimal.
FormatUniquement0-9eta-f / A-Fare allowed
Nombre de caractèresDoit être pair (2 caractères par octet)
Exemple48656C6C6F= "Bonjour" (5 octets)
WhitespaceIgnored automatically.48 65 6Cest identique à48656C
Base64Binaire codé · Certificats · Images
Traite l'entrée comme unBase64-encoded string, le décode en octets bruts, puis calcule CRC32. Utile pour les certificats PEM, les charges utiles JWT, les URI de données et autres contenus Base64.

Prend en charge l'alphabet standard Base64 (A-Z a-z 0-9 + /). Le caractère de remplissage=est facultatif. Base64 sécurisé pour les URL (-_) n’est pas pris en charge.
AlphabetA-Z a-z 0-9 + / =
ExempleSGVsbG8=→ "Bonjour" (5 octets)
URL-sûrNot supported. Remplacer-→+et_→/premier
⚠ 1 caractèreInvalid — 6 bits ne suffisent pas pour former 1 octet (8 bits requis)
2 CharactersDécode en1 octet(entrée minimale valide)
3 CaractèresDécode en2 octets
4 CaractèresDécode en3 octets(le motif se répète tous les 4 caractères)
// Output Format Guide
Format de sortie
HexadecimalLe plus courant · Par défaut
Affiche la valeur sous la forme d'un nombre hexadécimal majuscule à 8 chiffres préfixé par0x. Chaque caractère représente 4 bits, pour un total de 32 bits. Il s'agit du format standard utilisé dans la plupart des outils, du code source et de la documentation.

Par rapport à la sortie décimale, l'hexadécimal facilite l'inspection des limites d'octets et fait correspondre plus naturellement les vidages de mémoire et les champs de protocole.
Exemple0xCBF43926
Longueur8 caractères hexadécimaux = 32 bits
BaseBase 16 (0-9, A-F)
Idéal pourCode, documentation, Wireshark, éditeurs hexadécimaux
DécimalUnsigned 32-bit Integer
Affiche la somme de contrôle sous forme deentier décimal non signé de 32 bitsdans la plage 0–4 294 967 295 (2³²−1). Certains langages et outils comparent les valeurs CRC sous forme décimale, et les champs de base de données stockent souvent cette représentation.

Remarque : les résultats CRC32 doivent être traités comme des entiers non signés. Dans les types int signés tels que Java ou C#, les valeurs supérieures à 0x7FFFFFFF peuvent apparaître négatives et doivent être converties en uint ou en une représentation non signée plus large.
Exemple3421780262
Range0–4,294,967,295
RemarqueFor Java int, convert with& 0xFFFFFFFFL
Idéal pourBases de données, valeurs de structure Python, comparaison numérique
BinaireAnalyse au niveau des bits
Affiche la somme de contrôle sous forme de chaîne binaire de 32 bits préfixée par0b. Chaque caractère est 0 ou 1, aligné sur le bit le plus significatif à gauche et complété par des zéros non significatifs si nécessaire.

Principalement utile pour comprendre l'algorithme CRC interne, étudier la division polynomiale, l'enseignement et les scénarios intégrés qui nécessitent un traitement de somme de contrôle au niveau des bits. La sortie
Exemple0b11001011…00100110
LongueurFixé à 32 bits avec un remplissage de zéros à gauche
Highest BitBit 31 (MSB) apparaît à l'extrême gauche
Idéal pourAnalyse d'algorithmes, enseignement, débogage embarqué
OctalUnix · File Systems
Affiche la somme de contrôle sous la forme d'un nombre octal à 11 chiffres préfixé par0o. Au plus 11 caractères octaux sont nécessaires pour 32 bits car 3×11 = 33 > 32. Chaque chiffre octal représente 3 bits. Outil

Octal est rare dans les flux de travail CRC modernes, mais elle apparaît toujours dans certains outils Unix, chaînes d'outils de micrologiciels intégrés et anciennes spécifications de protocole de communication.
Exemple0o31572031046
LongueurUp to 11 octal digits
Per DigitRepresents 3 bits (0-7)
Idéal pourOutils Unix, anciennes spécifications de protocole