Calculateur CRC-32 - Somme de contrôle de texte et fichiers

Calculer un CRC-32 est simple dès lors qu'on sait exactement de quel algorithme on parle, et déroutant dans le cas contraire, parce que deux questions se mélangent : le fonctionnement du calcul et l'utilité réelle d'une somme de contrôle. Le calcul, c'est l'algorithme à table inversé défini par les normes ISO 3309 et UIT-T V.42, qui renvoie une valeur de 32 bits pour n'importe quelle suite d'octets qu'on lui soumet. L'utilité, en revanche, est bien plus étroite que le mot hachage ne le laisse croire. Un CRC est un code de détection d'erreurs, pas une primitive de sécurité, et il est conçu pour faire une seule chose à moindre coût : signaler qu'un bloc de données s'est abîmé pendant un transfert, à cause de bruit, d'un secteur de disque défectueux, d'un téléchargement tronqué ou d'une copie modifiée en douce. Ce calculateur CRC-32 gratuit couvre les trois formes de saisie qui apparaissent réellement au travail. Vous pouvez saisir du texte et le faire encoder en UTF-8 avant calcul, coller des octets en hexadécimal pour des charges binaires comme un en-tête de micrologiciel ou un paquet réseau, ou choisir un fichier et obtenir la somme de contrôle sur l'intégralité de son contenu, sans limite de taille qui compte réellement. Le sélecteur de format de sortie réaffiche le même nombre de 32 bits en hexadécimal, décimal, octal, binaire sur 32 bits ou base64, car la représentation attendue dépend entièrement de la destination : les en-têtes d'archives compressées stockent la valeur en hexadécimal, la plupart des bibliothèques de script l'affichent en décimal, et certains protocoles transportent les quatre octets bruts dans un champ encodé en base64. Sous le résultat, un tableau récapitulatif donne la longueur du message en octets ainsi qu'une valeur CRC-32b, c'est-à-dire le même algorithme appliqué à vos octets augmentés d'un octet nul final. Tout est calculé côté client en JavaScript sur votre propre machine : votre texte et votre fichier ne sont jamais envoyés, jamais journalisés et jamais conservés.

Calculateur de somme de contrôle CRC-32

Encodé en UTF-8 avant le hachage. 6 octets

0xFF55531A
Longueur du message6 octets
CRC-320xFF55531A
CRC-32b (octet nul final)0x2F9F43A4

CRC-32 détecte les corruptions accidentelles dans les archives zip, les flux gzip, les blocs PNG et les trames Ethernet. Ce n’est pas une fonction de hachage cryptographique : elle est linéaire, se forge sans effort et ne doit jamais servir à garantir l’intégrité face à un adversaire.

Ce Qui Est

Une somme de contrôle est un résumé court et de taille fixe d'un message plus long, calculé de telle sorte que toute modification accidentelle du message ait une probabilité écrasante de modifier aussi ce résumé. L'idée est plus ancienne que l'ordinateur personnel. IBM construisait des machines à tabuler qui lisaient des cartes perforées, et les opérateurs constatèrent que les données transférées entre machines se corrompaient de temps en temps : une colonne mal perforée, une carte tordue, un lecteur usé. La réponse de l'ingénieur fut d'acheminer avec les données une valeur arithmétique redondante que la machine réceptrice recalculait et comparait ; si les deux concordaient, le transfert était réputé intact, et sinon on demandait une retransmission. Les descendants modernes de cette idée sont les contrôles de redondance cyclique. Un CRC considère le message comme un polynôme sur le corps GF(2), où l'addition et la soustraction sont toutes deux l'OU exclusif, et calcule le reste de la division de ce polynôme par un polynôme générateur fixé. Le CRC-32 utilise le générateur 0x04C11DB7 et, comme la formulation à bits inversés est bien moins coûteuse à implémenter en matériel et en logiciel que la forme directe, le code réel travaille avec la constante inversée 0xEDB88320.

L'implémentation habituelle précalcule une table de 256 entrées puis traite le message octet par octet avec une seule consultation et un décalage : crc = table[(crc OU octet) ET 0xFF] OU (crc >> 8). C'est cette table qui permet de vérifier un mégaoctet en quelques millisecondes, et la construire à partir de la définition plutôt que de coller un tableau magique garantit que le code implémente bien ce qu'il prétend implémenter. Le registre est initialisé à 0xFFFFFFFF avant le premier octet et le résultat est soumis à un OU exclusif avec 0xFFFFFFFF en sortie, une technique appelée augmentation. Aucun des deux OU exclusifs n'est décoratif. Avec une graine nulle, les octets nuls initiaux ne modifient pas le registre, si bien que le message 00 00 41 et le message 41 produisent exactement la même valeur ; initialiser avec des bits à un force l'absorption de ces octets, et c'est ce qui rend détectable une suite de zéros. L'OU exclusif final garantit que le message accompagné de sa propre somme de contrôle, ajoutée en ordre little-endian, laisse le résidu fixe 0x2144DF1C que le récepteur vérifie, et c'est pourquoi la somme d'un message vide vaut le propre 0x00000000 plutôt qu'une suite de uns. CRC-32 et CRC-32b sont le même algorithme avec des cadrages différents : la variante affichée ici ajoute un unique octet 0x00 avant calcul, convention employée par certains protocoles pour distinguer la charge de son terminateur, tandis que d'autres sources utilisent ce nom pour la variante BZIP2, qui ajoute quatre octets nuls ; précisez donc toujours le cadrage employé.

En pratique, le CRC-32 est le champ d'intégrité de chaque entrée de ZIP, de la fin de chaque flux gzip et zlib, de chaque fragment d'un fichier PNG, des flux de transport MPEG-2 et de la séquence de contrôle de trame de chaque trame Ethernet, où il est abrégé en FCS. Ce que le CRC-32 n'est absolument pas, c'est un hachage cryptographique. C'est une fonction linéaire sur GF(2) : appliquer le même OU exclusif à deux messages de même longueur produit la même différence entre leurs sommes, si bien que quiconque connaît un message et sa somme peut dériver un correctif de quatre octets donnant la somme de son choix. Il ne fait en outre que 32 bits de large, si bien que par le principe des tiroirs deux messages distincts partagent une somme aux alentours de la racine carrée de 2^32, de l'ordre de 65536 messages, tandis que toute erreur accidentelle sur un seul bit est détectée avec certitude. Utilisez-le pour la corruption accidentelle, jamais pour garantir l'intégrité face à un adversaire.

Comment utiliser

  1. Ouvrez le Calculateur CRC-32 dans votre navigateur. La somme est calculée localement en JavaScript, rien de ce que vous saisissez ou sélectionnez n'est envoyé à un serveur.
  2. Choisissez un mode de saisie avec les trois boutons du haut : Text pour une chaîne, Hex bytes pour du binaire brut, ou File pour contrôler un document entier.
  3. En mode Text, saisissez ou collez dans le champ Input text. La chaîne est d'abord encodée en UTF-8, donc les accents et les emojis occupent plus d'octets qu'ils n'en semblent, et le nombre d'octets se met à jour en direct.
  4. En mode Hex, collez des paires de chiffres hexadécimaux comme 48 65 6c 6c 6f. Les espaces, les virgules et les préfixes 0x sont supprimés automatiquement, un nombre impair de chiffres est refusé et tout caractère non hexadécimal provoque une erreur au lieu d'être ignoré en silence.
  5. En mode File, choisissez un fichier avec le contrôle Choose a file. Le calculateur le lit via l'API de fichiers du navigateur et indique la taille sur disque ainsi que le nombre d'octets réellement traités.
  6. Choisissez la représentation nécessaire dans le menu Output format : Hex, Decimal, Octal, Binary ou Base64. Le champ CRC-32 result se réaffiche instantanément dans le format choisi.
  7. Consultez le tableau récapitulatif pour connaître la longueur exacte du message en octets, la valeur CRC-32 et la valeur CRC-32b calculée avec un octet nul final, à titre de comparaison.
  8. Comparez la valeur obtenue à la somme de contrôle publiée afin de confirmer qu'un téléchargement, un envoi ou un transfert est arrivé intact.

Exemples

Entrée: Mode Text, la chaîne CRC-32

Processus:

6 octets UTF-8 43 52 43 2D 33 32 traversant la boucle à table

Résultat: CRC-32 = 0xFF55531A, et CRC-32b avec un octet nul final = 0x2F9F43A4

Entrée: Mode Text, la chaîne 123456789

Processus:

Valeur de contrôle d'ISO 3309 et UIT-T V.42 pour la variante CRC-32/BZIP2

Résultat: 0xCBF43926 — si votre implémentation diffère, les paramètres sont erronés

Entrée: Mode Hex, les octets 48 65 6c 6c 6f

Processus:

Cinq octets bruts signifiant Hello, saisis en hexadécimal plutôt qu'en texte

Résultat: 0xF7D18982 — différent du résultat obtenu en traitant le mot Hello comme du texte

Entrée: Mode File, un fichier vide ou de taille nulle

Processus:

La boucle ne s'exécute jamais, la graine traverse donc directement l'OU exclusif final

Résultat: 0x00000000, et c'est pourquoi un message vide est facile à reconnaître

Recherches Connexes

Les gens recherchent aussi : calculateur crc32, calculer crc32, somme de contrôle, crc32 en ligne, crc32 de fichier, crc32 hexadécimal.

calculateur crc32calculer crc32somme de contrôlecrc32 en lignecrc32 de fichiercrc32 hexadécimalcrc32 de textecrc32bnorme iso 3309uit-t v.420xedb88320vérifier l'intégritécrc32 zipcrc32 gzipcrc pngethernet fcscrc32 base64crc32 vs sha256détecter une corruptionoutil de checksum

Questions Fréquemment Posées

À quoi sert concrètement le CRC-32 dans les logiciels ?

Le CRC-32 est utilisé partout où une vérification bon marché et quasi certaine contre la corruption accidentelle vaut mieux qu'une garantie de sécurité. Chaque archive ZIP en stocke une par entrée dans son répertoire central, et unzip la vérifie à l'extraction : un fichier tronqué ou dont des bits ont changé est signalé au lieu de produire silencieusement n'importe quoi. gzip et zlib ajoutent un CRC-32 à la fin de leur flux compressé, et c'est pourquoi un fichier .gz corrompu produit une erreur de somme de contrôle plutôt qu'une inexplicable erreur de décompression. Le PNG range un CRC-32 dans chaque fragment, ce qui permet à la fois de valider chaque bloc indépendamment et d'arrêter le décodeur au premier fragment douteux. Les flux de transport MPEG-2 en portent un par paquet, et la séquence de contrôle de trame d'Ethernet est un CRC-32 calculé par le matériel de la carte réseau sur chaque trame qui traverse un commutateur. Dans tous ces cas le modèle de menace est le même : bruit, vieillissement, écritures partielles et versions divergentes, et non un attaquant déterminé.

Le CRC-32 est-il un hachage cryptographique ? Puis-je l'utiliser pour des mots de passe ?

Non, et s'en servir pour des mots de passe ou pour vérifier l'intégrité d'un téléchargement provenant d'une source non fiable serait une grave erreur. Un CRC est une fonction linéaire sur le corps GF(2), ce qui signifie qu'appliquer le même OU exclusif à deux messages produit la même différence entre leurs sommes. Quiconque connaît un message et sa somme peut donc construire un autre message, différent de quatre octets au plus, portant la somme de son choix. C'est une falsification qui ne demande ni ingenuity ni recherche. Avec seulement 32 bits de largeur, un attaquant peut précalculer une collision en quelques secondes sur GPU. Il n'a ni clé, ni sel, ni facteur de coût, ni comportement en avalanche, et ne fournit donc aucune des propriétés d'irréversibilité, d'imprévisibilité ou de résistance à la recherche exhaustive dont dépendent le stockage de mots de passe et la signature de code. Utilisez un hachage cryptographique comme SHA-256 pour l'intégrité face à un adversaire, et une fonction spécialisée comme Argon2id ou bcrypt pour tout ce qui ressemble à un identifiant.

Pourquoi CRC-32b donne-t-il un résultat différent de CRC-32 ?

Parce que ces deux noms désignent le même algorithme enveloppé dans des cadrages légèrement différents. La ligne CRC-32b de ce calculateur exécute l'algorithme identique sur vos octets augmentés d'un octet 0x00 final, et cet octet supplémentaire modifie l'état du registre, si bien que toutes les valeurs sont décalées. L'intérêt d'une telle variante est de distinguer la charge de son propre terminateur, afin qu'un flux qui se termine légitimement par un octet nul ne soit pas confondu avec un autre qui s'y termine par accident. Sachez que le terme est employé de façon incohérente : la variante BZIP2, habituellement notée CRC-32/BZIP2 et identifiée par la valeur de contrôle 0xCBF43926 pour la chaîne 123456789, ajoute quatre octets nuls et non un, et constitue une fonction différente. Si vous dialoguez avec un outil ou un format précis, vérifiez ce que cette implémentation ajoute réellement plutôt que de vous fier au nom.

Que signifie la constante 0xEDB88320 ?

C'est la forme inversée du polynôme générateur du CRC-32, 0x04C11DB7, et elle apparaît dans pratiquement toutes les implémentations logicielles de CRC-32 que vous croiserez. Le polynôme générateur définit quels motifs de bits sont considérés comme des erreurs. Sa forme normale, bits dans l'ordre direct, est celle des manuels, mais l'ordre inversé permet d'exécuter tout le calcul de droite à gauche à travers les octets, ce qui exige une consultation de table et un décalage par octet au lieu de huit décalages conditionnels. Dans l'implémentation inversée, la valeur 0x04C11DB7 devient 0xEDB88320, et chacune des 256 entrées de la table s'obtient en partant de la valeur d'un octet et en appliquant huit fois la boucle d'inversion : si le bit de poids faible est à un, on fait l'OU exclusif avec 0xEDB88320 puis on décale à droite, sinon on décale simplement à droite. Construire la table à partir de cette définition, comme le fait cet outil, est plus sûr que coller un tableau de 256 entrées, car cela élimine tout risque que la table livrée dérive de la définition qu'elle prétend implémenter.

Pourquoi deux fichiers différents obtiennent-ils parfois le même CRC-32 ?

Parce que l'espace de sortie ne fait que 32 bits : il y a environ 4,3 milliards de sommes possibles à partager entre tous les messages possibles, et il est inévitable que certains messages en partagent une. En appliquant le principe des tiroirs, le nombre de messages nécessaires pour qu'une collision devienne probable est approximativement la racine carrée de 2^32, soit environ 65536 : des données aléatoires produisent donc un CRC en double dans cette zone. Les fichiers réels sont moins favorables que l'aléatoire, car des documents structurés ne diffèrent souvent que sur quelques emplacements prévisibles. Ce n'est pas un défaut de conception, c'est la conception qui fonctionne comme prévu. Un CRC-32 détecte avec certitude toute erreur sur un seul bit et toute erreur en salve jusqu'à 32 bits, ce qui couvre pratiquement toute la corruption accidentelle due au bruit, au vieillissement et aux pannes de transfert. Ce qu'il ne peut pas faire, c'est établir une identité face à un adversaire, car un adversaire peut construire une collision délibérément en quelques secondes. Si vous avez besoin de résistance aux collisions, il vous faut un hachage cryptographique.

Comment vérifier qu'un fichier téléchargé n'est pas corrompu ?

Calculez le CRC-32 du fichier ici et comparez-le à la somme de contrôle enregistrée par l'éditeur ou par le système de transfert. S'ils concordent, le fichier est arrivé sans corruption. Beaucoup d'outils le font déjà pour vous : unzip vérifie chaque entrée, gzip et zlib vérifient la fin du flux, et les navigateurs vérifient les fragments PNG au décodage. Mais calculer la valeur soi-même reste le moyen le plus rapide de confirmer ce qu'un outil donné a produit, et c'est le seul moyen lorsque vous avez un format inhabituel sans vérification intégrée. Choisissez le mode File, sélectionnez le téléchargement et lisez la sortie CRC-32 of file. Une mise en garde importante : une concordance prouve que le fichier est bien celui qu'a produit l'éditeur, à condition que vous fassiez confiance à cet éditeur. Si le téléchargement a pu être altéré en transit, un attaquant disposant de cette capacité peut fabriquer un autre fichier portant la même somme, et c'est précisément pourquoi les publications signées avec GPG ou des signatures Sigstore existent en complément des sommes de contrôle.

Mon fichier ou mon texte est-il envoyé à un serveur ?

Non. Le calculateur est un composant côté client : le JavaScript de votre navigateur lit votre texte, vos octets hexadécimaux ou le fichier que vous avez sélectionné, construit la table CRC-32 en mémoire et exécute la boucle localement. Rien n'est transmis sur le réseau, rien n'est écrit dans un journal de serveur et rien ne persiste après la fermeture de l'onglet. Pour le mode fichier, c'est mis en œuvre avec l'API de fichiers du navigateur, qui lit le fichier du disque local à la demande. L'intérêt est pratique, et pas seulement lié à la vie privée : vous pouvez contrôler une image disque de plusieurs gigaoctets ou une archive confidentielle réglementée sans attendre un envoi et sans remettre une copie de vos données à un service tiers.

Outils Associés

Générateur de Hachage MD5

Générez instantanément des valeurs de hachage MD5 à partir de n'importe quelle entrée de texte. Le MD5 (Algorithme de résumé de message 5) produit une valeur de hachage de 128 bits couramment utilisée pour la vérification de l'intégrité des données et la génération de sommes de contrôle. Bien que MD5 ne soit plus considéré comme sécurisé à des fins cryptographiques en raison de vulnérabilités de collision connues, il reste largement utilisé dans les applications non critiques pour la sécurité telles que les vérifications de l'intégrité des fichiers, les clés de cache et les empreintes digitales rapides des données. Notre outil gratuit basé sur un navigateur calcule les hachages MD5 localement—vos données ne quittent jamais votre appareil, garantissant une confidentialité totale pour les entrées sensibles.

Générateur de hachage SHA-1

Générez instantanément des valeurs de hachage SHA-1 à partir de n'importe quelle entrée de texte. SHA-1 (Algorithme de hachage sécurisé 1) produit une valeur de hachage de 160 bits qui a été largement utilisée dans les protocoles de sécurité et les systèmes de contrôle de version. Bien que SHA-1 soit désormais obsolète à des fins cryptographiques en raison d'attaques par collision démontrées, il reste essentiel pour l'identification des commits Git, la compatibilité avec les systèmes hérités et les tâches d'empreinte non liées à la sécurité. Notre outil gratuit basé sur un navigateur calcule les hachages SHA-1 localement sans transmettre vos données à aucun serveur.

Générateur de hachage SHA-256

Générez instantanément des valeurs de hachage SHA-256 à partir de n'importe quelle entrée de texte. SHA-256 (Algorithme de hachage sécurisé 256 bits) est l'étalon-or actuel pour le hachage cryptographique, l'exploitation minière Bitcoin, la technologie blockchain, les certificats SSL/TLS et les protocoles de sécurité modernes. En l'absence d'attaques par collision pratiques connues, SHA-256 offre une force de sécurité de 256 bits adaptée aux applications les plus exigeantes. Notre outil gratuit basé sur un navigateur calcule les hachages SHA-256 localement, garantissant que vos données sensibles ne quittent jamais votre appareil.

Générateur de hachage SHA-512

Générez instantanément des valeurs de hachage SHA-512 à partir de n'importe quelle entrée de texte. SHA-512 (algorithme de hachage sécurisé 512 bits) offre la marge de sécurité la plus élevée de la famille SHA-2 avec sa sortie 512 bits, ce qui le rend idéal pour les applications nécessitant une résistance maximale aux collisions et une sécurité à l'épreuve du temps. Sur les systèmes 64 bits, SHA-512 surpasse souvent SHA-256 tout en offrant le double de la longueur de hachage. Notre outil gratuit basé sur un navigateur calcule les hachages SHA-512 localement, gardant vos données totalement privées.

Générateur de Hachage de Fichier

Calculez les valeurs de hachage cryptographiques de n'importe quel fichier directement dans votre navigateur. Notre générateur de hachage de fichiers prend en charge les algorithmes MD5, SHA-1, SHA-256 et SHA-512, vous permettant de vérifier l'intégrité des fichiers, de valider les téléchargements et de générer des sommes de contrôle sans télécharger vos fichiers sur un serveur. L'ensemble du processus de hachage s'exécute localement à l'aide de l'API FileReader du navigateur, garantissant une confidentialité et une sécurité complètes pour les fichiers sensibles.

Générateur HMAC

Générez instantanément des valeurs HMAC (Code d'authentification de message basé sur le hachage) à partir d'une saisie de texte et d'une clé secrète. HMAC fournit à la fois l'intégrité des données et la vérification de l'authenticité, ce qui le rend essentiel pour l'authentification API, la signature des messages et les protocoles de communication sécurisés. Notre outil gratuit basé sur un navigateur prend en charge HMAC avec les fonctions de hachage MD5, SHA-1, SHA-256 et SHA-512, calculant tout localement pour une confidentialité totale.

Générateur bcrypt - Créer des hachages de mot de passe en ligne

Hacher un mot de passe est facile. Le hacher comme le devrait une application moderne l'est moins, car le choix de l'algorithme détermine la durée d'une attaque hors ligne et la bonne réponse dépend de votre matériel et de votre modèle de menace. bcrypt est la recommandation par défaut pour le stockage des mots de passe depuis plus de vingt ans, parce qu'il est volontairement lent et parce que son coût est réglable : le même algorithme peut prendre 100 millisecondes sur un serveur modeste aujourd'hui et 250 millisecondes sur une machine rapide dans dix ans, tandis qu'un attaquant disposant des hachages hors ligne doit payer ce coût complet à chaque essai. Ce générateur bcrypt gratuit produit un hachage bcrypt réel et correctement formaté pour n'importe quel mot de passe saisi, vous permet de fixer vous-même le facteur de travail tout en vous montrant son coût approximatif en millisecondes. Il vérifie aussi un hachage existant, étape que l'on oublie souvent : comparer un mot de passe à un hachage stocké est une opération entièrement distincte de la génération, et les deux sont prises en charge ici. Chaque calcul s'exécute côté client dans votre navigateur : les mots de passe en clair ne sont jamais transmis, journalisés ni stockés sur un serveur. C'est essentiel, car un outil de hachage n'est digne de confiance que s'il ne peut pas voir la valeur que vous hachez, et celui-ci ne la reçoit jamais.

Outils Populaires

Calculateur d'EMI

Vous envisagez de contracter un prêt immobilier, un prêt auto ou un prêt personnel et vous vous demandez à quoi resse...

Calculateur d'IMC

Avez-vous déjà marché sur une balance et vous êtes-vous déjà demandé ce que ce nombre signifiait réellement pour votr...

Calculateur de Graisse Corporelle

Avez-vous déjà eu l'impression que l'échelle ne raconte pas toute l'histoire? Vous pouvez peser le même poids que que...

Calculateur de TCAC

Lorsque vous investissez dans des actions, des fonds communs de placement ou tout actif lié au marché, un chiffre vou...

Convertisseur d'Unité

De la cuisine à la construction, de la science aux achats, la conversion d'unités est l'une de ces choses dont vous a...

Calculateur d'Âge

Déterminer l'âge exact de quelqu'un n'est pas aussi simple que de soustraire l'année de naissance de l'année en cours...

Formateur JSON

Formatez, embellissez et validez instantanément les données JSON avec notre outil en ligne gratuit. Collez du JSON br...

Générateur de Code QR

Besoin d'un code QR professionnel pour votre site Web, carte de visite, événement, emballage de produit ou campagne m...

Calculateur de Salaire

Comprendre votre véritable salaire net est essentiel pour la budgétisation, la planification et la prise de décisions...

Calculateur de Pourboire

Dîner au restaurant, se faire couper les cheveux, prendre un taxi ou recevoir tout type de service personnalisé vient...

Compteur de Mots

Besoin d'un nombre de mots précis pour votre essai, article ou document? Ce compteur de mots vous donne un décompte i...

Convertisseur de Code Couleur

Color Code Converter est un outil en ligne gratuit qui convertit instantanément les valeurs de couleur entre différen...