Outil pour calculer rapidement ou vérifier l'intégrité des données avec le CRC-32, idéal pour détecter les erreurs de transmission et garantir la fiabilité.
CRC-32 - dCode
Catégorie(s) : Somme de Contrôle
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le CRC-32 (Cyclic Redundancy Check, 32 bits) est une méthode de vérification d'intégrité des données qui utilise un algorithme mathématique pour générer une empreinte à partir de données binaires.
Cette empreinte permet de détecter les erreurs accidentelles lors du stockage ou de la transmission des données.
Le fonctionnement du CRC-32 repose sur l'opération de division polynomiale binaire en traiter les données comme un grand polynôme binaire.
Exemple : La séquence binaire 1101 peut être représentée par le polynôme $ 1 \times x^3 + 1 \times x^2 + 0 \times x^1 + 1 \times x^0 = x^3 + x^2 + x^0 $ (avec x correspondent à la position des bits à 1, en commençant par 0 à droite).
Le CRC s'appuie ensuite sur un polynôme binaire prédéfini, appelé polynôme générateur (ou diviseur). Pour le CRC-32, le polynôme générateur standard est 04C11DB7 (hexadecimal) soit 100110000010001110110110111 (binaire) soit le polynome de degré 32 $ x^{32} + x{26} + x^{23} + x^{22} + x^{16} + x^{12} + x^{11} + x^{10} + x^8 + x^7 + x^5 + x^4 + x^2 + x^1 + x^0 $.
La division polynomiale binaire a un reste (qui a une longueur inférieure à celle du polynôme générateur). Pour le CRC-32, le reste sera un bloc de 32 bits. C'est cette séquence de 32 bits qui constitue le code CRC-32.
Le CRC-32 est léger et rapide, ce qui en fait un excellent choix pour détecter les erreurs dans les données transmises ou stockées. Bien qu'il ne prévienne pas les erreurs ou ne les corrige pas, il permet de les identifier avec une grande précision. Le CRC-32 est répandu dans les communications réseau, les systèmes de stockage, certains formats de fichier (comme ZIP ou PNG), et recommandé dans environnement nécessitant une validation rapide de l'intégrité des données.
Le CRC-32 n'est pas à l'abri des collisions, deux ensembles de données différents peuvent produire le même checksum, bien que cela reste rare.
Une empreinte CRC-32 est généralement représentée par 8 caractères hexadécimaux (soit 32 bits binaires).
Stockées, elles peuvent être affichées comme une valeur numérique entre 0 et 4294967295.
Le CRC32C (Cyclic Redundancy Check 32 bits Castagnoli) est une variante du CRC-32 qui utilise un polynôme générateur différent pour calculer la somme de contrôle. Le CRC32-C est basé sur le polynôme générateur 1EDC6F41 (hexadecimal).
Cette évolution lui attribue de de meilleures performances en matière de détection d'erreurs que le CRC32 standard qu'il tend à remplacer.
Il est crucial de noter que le CRC32 et le CRC32C ne sont pas compatibles. Les deux algorithmes produiront des sommes de contrôle différentes pour les mêmes données.
dCode se réserve la propriété du code source pour "CRC-32". Tout algorithme pour "CRC-32", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "CRC-32" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "CRC-32" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "CRC-32" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : CRC-32 sur dCode.fr [site web en ligne], consulté le 16/04/2025,