Outil pour calculer et vérifier des numéros avec l'algorithme de Verhoeff. Générer des check digits, détecter les erreurs de saisie et sécuriser des codes-barres ou identifiants.
Algorithme de Verhoeff - dCode
Catégorie(s) : Somme de Contrôle, Arithmétique
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 !
L'algorithme de Verhoeff est un algorithme de calcul de chiffre de contrôle conçu pour détecter des erreurs de saisie dans des identifiants numériques décimaux (numéros de série, identifiants administratifs, etc.).
L'algorithme de Verhoeff permet notamment de détecter toutes les erreurs de substitution d'un chiffre et toutes les transpositions adjacentes de chiffres, ainsi qu'une partie des erreurs multiples.
L'algorithme utilise trois tables (index 0) : la table de multiplication (D) basée sur le groupe diédral D5, la table de permutation (P) qui permute les chiffres selon leur position, la table inverse (I) qui permet de calculer le chiffre de contrôle final.
| D = | P = | I = | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Exemple : Le nombre initial 123, possède le chiffre 3 en position 1, le chiffre 2 en position 2 et le chiffre 1 en position 3 (lecture de droite à gauche), la position 0 est pour le checksum.
Un calcul itératif (pour calculer le checksum c) est appliqué, avec une initialisation de c = 0.
Exemple :
| Itération | Position | Chiffre | Permutation | Multiplication | c |
|---|---|---|---|---|---|
| #1 | 1 | 3 | P[1][3]=6 | D[c=0][6]=6 | 6 |
| #2 | 2 | 2 | P[2][2]=0 | D[c=6][0]=6 | 6 |
| #3 | 3 | 1 | P[3][1]=9 | D[c=6][9]=2 | 2 |
Le calcul du checksum final, se fait en regardant dans la table inverse selon la valeur de c.
Exemple : Le checksum est I[2] = 3, le nombre avec checksum est donc 1233
L'algorithme de Verhoeff permet de détecter efficacement plusieurs types d'erreurs de saisie :
— Toutes les erreurs de substitution simple, lorsqu'un chiffre est remplacé par un autre (ex. : 1234 → 1239).
— Toutes les transpositions adjacentes, lorsque deux chiffres voisins sont inversés (ex. : 1234 → 1324).
— Une partie des erreurs multiples, lorsque deux chiffres ou plus sont erronés simultanément.
En revanche, l'algorithme ne détecte pas certaines permutations complexes, comme les permutations circulaires (ex. : 1234 → 4123) ou certaines transpositions non adjacentes.
dCode se réserve la propriété du code source pour "Algorithme de Verhoeff". Tout algorithme pour "Algorithme de Verhoeff", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Algorithme de Verhoeff" (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 à "Algorithme de Verhoeff" ou tout autre élément ne sont pas publics (sauf licence open source explicite). 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 "Algorithme de Verhoeff" 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 (Licence de libre diffusion Creative Commons CC-BY).
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 : Algorithme de Verhoeff sur dCode.fr [site web en ligne], consulté le 08/01/2026,