Calculateur de code de hachage CRC-32B
Publié : 17 février 2025 à 18:24:42 UTC
Dernière mise à jour : 12 janvier 2026 à 09:15:45 UTC
CRC-32B 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 de données brutes. Bien qu'il ne s'agisse pas techniquement d'une fonction de hachage cryptographique, le CRC-32 est souvent appelé ainsi 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-32B, qui est en réalité une particularité du langage PHP inversant l'ordre des bits (petit-boutiste au lieu de gros-boutiste dans le CRC-32 original).
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-32B
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 cette page est la variante CRC-32B, une particularité de PHP qui inverse l'ordre des bits (petit-boutiste ou gros-boutiste). Il est conseillé de n'utiliser cette version que si vous avez absolument besoin de compatibilité avec une autre application PHP qui l'utilise.
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 MurmurHash3C
- Calculateur de code de hachage Tiger-160/3
- Calculateur de code de hachage Fowler-Noll-Vo FNV1a-32
