Calculateur de code de hachage CRC-32C
Publié : 17 février 2025 à 18:44:46 UTC
Dernière mise à jour : 12 janvier 2026 à 11:37:22 UTC
CRC-32C Hash Code Calculator
Le contrôle de redondance cyclique (CRC) est un code de détection d'erreurs couramment utilisé pour détecter les modifications accidentelles apportées aux données brutes. Bien qu'il ne s'agisse pas techniquement d'une fonction de hachage cryptographique, le CRC-32 est souvent qualifié de fonction de hachage en raison de sa capacité à produire une sortie de taille fixe (32 bits) à partir d'une entrée de longueur variable. La version présentée sur cette page est la variante CRC-32C, une version plus récente et plus performante (meilleure détection d'erreurs) souvent accélérée matériellement sur les processeurs modernes (via SSE 4.2).
Divulgation complète : je n'ai pas écrit l'implémentation spécifique de la fonction de hachage utilisée sur cette page. Il s'agit d'une fonction standard incluse dans le langage de programmation PHP. J'ai seulement créé l'interface web pour la rendre publiquement disponible ici pour des raisons de commodité.
À propos de l'algorithme de hachage CRC-32C
Je ne suis pas mathématicien, mais je vais essayer d'expliquer cette fonction de hachage avec une analogie simple. Contrairement à beaucoup de fonctions de hachage cryptographiques, ce n'est pas un algorithme particulièrement compliqué, donc ça devrait aller ;-)
Imaginez que vous envoyez une lettre par la poste, mais que vous craignez qu'elle ne soit endommagée avant d'arriver à destination. En fonction du contenu de la lettre, vous calculez une somme de contrôle CRC-32 et l'inscrivez sur l'enveloppe. Lorsque le destinataire reçoit la lettre, il peut alors calculer cette somme de contrôle et vérifier si elle correspond à celle que vous avez inscrite. Si c'est le cas, la lettre n'a été ni endommagée ni altérée pendant le transport.
Le CRC-32 procède en quatre étapes :
Étape 1 : Ajouter un peu d’espace supplémentaire (rembourrage)
- CRC ajoute un peu d'espace supplémentaire à la fin du message (comme des cacahuètes d'emballage dans une boîte).
- Cela permet de repérer plus facilement les erreurs.
Étape 2 : La règle magique (le polynôme)
- Le CRC-32 utilise une « règle magique » spéciale pour mesurer les données. Imaginez cette règle comme un motif de bosses et de rainures (il s'agit du polynôme, mais ne vous souciez pas de ce terme). La « règle » la plus courante pour le CRC-32 est un motif fixe.
Étape 3 : Glissement de la règle (processus de division)
- Le CRC fait glisser la règle sur le message. À chaque point, il vérifie l'alignement des reliefs et des rainures. En cas de non-alignement, le CRC enregistre une erreur (à l'aide d'une opération XOR simple, comme l'activation ou la désactivation d'un interrupteur). Il répète l'opération jusqu'à la fin.
Étape 4 : Le résultat final (la somme de contrôle)
- Après avoir parcouru l'ensemble du message à l'aide d'une règle, on obtient un petit nombre (de 32 bits) qui représente les données originales. Ce nombre est comme une empreinte digitale unique pour le message : il s'agit de la somme de contrôle CRC-32.
La version présentée sur la page est la variante CRC-32C, qui devrait être la variante préférée, surtout si vous utilisez un processeur qui l'accélère matériellement (SSE 4.2 et versions ultérieures) et que vous n'avez pas besoin de compatibilité avec d'autres variantes.
J'ai également des calculateurs pour les autres variantes :
- Lien
- Lien
Lectures complémentaires
Si vous avez apprécié cet article, vous aimerez peut-être aussi ces suggestions :
- Calculateur de code de hachage SHA3-224
- Calculateur de code de hachage MurmurHash3A
- Calculateur de code de hachage HAVAL-192/4
