search

Found

info Aperçu

Saisissez du texte ou des octets hexadécimaux pour calculer les CRC-32 IEEE 802.3 et CRC-32C Castagnoli en hexa et décimal en parallèle.

📘 Mode d'emploi

  1. Collez du texte ou passez en mode octets hexadécimaux.
  2. Lisez les résultats IEEE 802.3 et Castagnoli en hexa et décimal.
  3. Comparez la valeur au checksum attendu par votre protocole ou format.

Calculatrice de checksum CRC-32 et CRC-32C

Le CRC-32 est calculé sur les octets UTF-8 du texte saisi.

CRC-32 (IEEE 802.3)
poly 0xEDB88320
Décimal:
CRC-32C (Castagnoli)
poly 0x82F63B78
Décimal:
Octets d'entrée
0 bytes
État
Copié !

※ Implémentation par table (256 entrées précalculées) pour les polynômes IEEE 802.3 et Castagnoli.

※ Le CRC est un code de détection d'erreurs, pas un hash cryptographique. Utilisez SHA-256 pour intégrité ou signatures.

Article

Calculatrice de checksum CRC-32 et CRC-32C | Deux polynômes, une entrée

Obtenez le CRC-32 IEEE 802.3 et le CRC-32C Castagnoli depuis un seul texte ou des octets hexadécimaux, côte à côte en hexa et décimal. Conçue pour le moment où un checksum est devant vous et où il faut savoir quel polynôme l'a produit.

💡 À propos de cet outil

La plupart des calculatrices CRC en ligne supposent un seul polynôme sans le dire, et c'est précisément le piège : « CRC-32 » n'est pas un nombre unique. La variante classique IEEE 802.3 (polynôme réfléchi 0xEDB88320) est celle de zip, gzip, PNG et des trames Ethernet. Le CRC-32C de Castagnoli (0x82F63B78) est tout autre : intégré à SCTP, iSCSI, Btrfs et aux métadonnées d'ext4, notamment parce que les processeurs modernes le calculent avec une instruction dédiée.

Quand un débogueur affiche un checksum stocké et que votre code ne concorde pas, la cause habituelle est une confusion de polynôme. Cette calculatrice affiche les deux à la fois pour comparer la valeur inconnue au bon résultat sans refaire votre chaîne d'outils. Passez en mode octets hexa pour saisir les octets bruts tels qu'ils apparaissent dans une capture de paquets ou un éditeur hexadécimal ; les préfixes 0x, espaces, virgules et deux-points sont acceptés.

🧐 Questions fréquentes

Q. Quelle est la différence entre CRC-32 et CRC-32C ? A. Ils utilisent des polynômes générateurs différents. Le IEEE 802.3 CRC-32 emploie 0xEDB88320 (réfléchi) et apparaît dans zip, gzip et PNG. Le CRC-32C utilise le 0x82F63B78 de Castagnoli, à meilleure détection d'erreurs et accéléré matériellement sur x86 via l'instruction crc32.

Q. Mon checksum ne correspond pas à celui du fichier. Pourquoi ? A. Au-delà du polynôme, les variantes CRC diffèrent par la réflexion des bits, la valeur initiale et le XOR final. Cet outil utilise les paramètres standard : initial 0xFFFFFFFF, entrée et sortie réfléchies, XOR final 0xFFFFFFFF. Si un format emploie d'autres paramètres, le résultat change même avec le même polynôme.

Q. Comment vérifier que le calcul est correct ? A. La chaîne de test 123456789 donne 0xCBF43926 pour IEEE CRC-32 et 0xE3069283 pour CRC-32C. Ce sont les valeurs de référence publiées, vous pouvez donc confirmer l'outil avant de l'utiliser sur vos données.

Q. Pourquoi une entrée vide affiche-t-elle 00000000 ? A. Avec la valeur initiale et le XOR final standard, le CRC de zéro octet s'annule et donne 0x00000000. C'est le résultat correct, pas un bug.

📚 Le saviez-vous

Le choix du CRC-32C pour SCTP et iSCSI n'est pas un hasard. La recherche menée par Guy Castagnoli en 1993 a classé les polynômes selon la distance de Hamming, le plus petit nombre d'erreurs de bit pouvant passer inaperçues. Son polynôme détecte davantage de motifs d'erreur aux longueurs de message courantes que celui d'IEEE. Plus tard, Intel a ajouté une instruction SSE4.2 pour exécuter ce polynôme en matériel, ce qui explique pourquoi les systèmes de fichiers conçus cette décennie privilégient la variante « C » tandis que votre archive zip conserve l'original.