Calculateur CRC (CRC-8, CRC-16, CRC-32, CRC-64)

Calculez le CRC-32, CRC-32C, CRC-16 (MODBUS, CCITT, XMODEM), CRC-8 et CRC-64 d’un texte ou d’octets hex. Toutes les variantes d’un coup, sortie hex ou décimale.

CRC-32

S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.

Qu'est-ce que Calculateur CRC ?

Un contrôle de redondance cyclique (CRC) est une courte somme de contrôle servant à détecter les modifications accidentelles de données. Ce calculateur détermine le CRC-32 (zip, PNG, Ethernet), le CRC-32C (iSCSI, ext4, SCTP), CRC-32/BZIP2, CRC-32/MPEG-2, CRC-16/ARC, CRC-16/MODBUS, CRC-16/CCITT-FALSE, CRC-16/XMODEM, CRC-16/KERMIT, CRC-8/SMBUS, CRC-8/MAXIM et CRC-64/XZ pour une entrée en texte, hex ou Base64, et liste toutes les variantes à la fois, afin de trouver celle qu’utilise votre appareil ou votre format de fichier.

Comment utiliser Calculateur CRC

  1. Saisissez du texte dans Texte à hacher, ou choisissez Octets en hexadécimal comme encodage d’entrée et collez les octets d’une trame ou d’un paquet (les espaces sont ignorés).
  2. Sélectionnez la Variante de CRC voulue ; elle s’affiche en haut et est mise en évidence dans le tableau Toutes les variantes de CRC.
  3. Choisissez le Format de sortie : hexadécimal (minuscules ou majuscules) ou Décimal.
  4. Cliquez sur Copier pour copier le CRC sélectionné, ou lisez les autres variantes dans le tableau.

Exemple

Entrée
123456789 (text)
Sortie
cbf43926

Valeur de contrôle du CRC-32. Le tableau affiche aussi CRC-32C e3069283, CRC-16/MODBUS 4b37, CRC-16/CCITT-FALSE 29b1 et CRC-64/XZ 995dc9bbdf1939fa.

Quand utiliser Calculateur CRC

Utilisez-le pour calculer ou déboguer les sommes de contrôle de protocoles série (Modbus RTU, XMODEM), de formats de fichier (ZIP, PNG, gzip) et de systèmes de stockage ou réseau (iSCSI, ext4). Il est aussi pratique pour identifier un CRC inconnu en comparant une trame connue au tableau. N’utilisez pas un CRC pour la sécurité : il est linéaire et trivial à falsifier, n’importe qui peut modifier les données et corriger le CRC. Préférez un hachage cryptographique ou un MAC.

Comment fonctionne Calculateur CRC

Un CRC traite les données comme un grand polynôme binaire et calcule le reste de sa division par un polynôme générateur fixe (modulo 2). Chaque variante se définit par sa largeur, son polynôme, sa valeur initiale, la réflexion éventuelle des bits d’entrée et de sortie, et une valeur XOR finale (modèle Rocksoft). Cet outil utilise une table de 256 entrées par variante et vérifie chaque variante par rapport à sa valeur de contrôle du catalogue : le CRC de la chaîne ASCII 123456789 (par exemple CRC-32 = cbf43926, CRC-32C = e3069283, CRC-16/MODBUS = 4b37). Le résultat s’affiche sous forme de nombre hexadécimal big-endian, ou en décimal.

Cas d'utilisation courants

  • Calculer le CRC-16/MODBUS d’une trame RTU avant de l’envoyer
  • Vérifier le CRC-32 stocké dans un fichier ZIP ou un bloc PNG
  • Identifier la variante de CRC utilisée par un appareil à partir d’une trame d’exemple
  • Générer des valeurs CRC-32C pour des données de test de stockage ou de réseau
  • Construire des vecteurs de test pour une implémentation CRC embarquée

Note de Sécurité

Les CRC ne détectent que les erreurs accidentelles. Ils n’offrent aucune protection contre une modification délibérée, car un CRC peut être recalculé ou forcé à n’importe quelle valeur par de simples calculs d’algèbre linéaire.

Questions Fréquentes

De quelle variante de CRC ai-je besoin ?

Elle est imposée par le protocole ou le format : ZIP, PNG et Ethernet utilisent le CRC-32, iSCSI, ext4 et Btrfs le CRC-32C, Modbus RTU le CRC-16/MODBUS, XMODEM le CRC-16/XMODEM. Si vous ne savez pas, comparez une trame connue avec toutes les lignes du tableau.

Modbus envoie l’octet de poids faible en premier : pourquoi l’hex s’affiche-t-il autrement ?

L’outil affiche le CRC comme un nombre hexadécimal big-endian (par ex. 4b37). Modbus RTU le transmet en commençant par l’octet de poids faible : sur le câble, vous voyez donc 37 4B.

Pourquoi ma trame hex donne-t-elle un CRC différent de celui attendu ?

Vérifiez que Octets en hexadécimal est sélectionné ; avec Texte (UTF-8), ce sont les caractères 0–9 et a–f eux-mêmes qui sont hachés. Excluez aussi les octets du CRC de l’entrée.

Le CRC-32 est-il identique à la commande cksum ?

Non. La commande POSIX cksum utilise le polynôme CRC-32 non réfléchi et intègre aussi la longueur du fichier. Utilisez ici le CRC-32 pour les valeurs de zip, gzip et PNG.

Explorer d'autres catégories