SI4 – LES BASES DE LA PROGRAMMATION
LANGAGE PYTHON
Lycée des Métiers Jacques Prévert
Combs – la – Ville
Section BTS Services Informatiques aux Organisations
TP : Algorithme de clé de Luhn
Principe :
L’algorithme de la clé de Luhn est utilisé pour vérifier le format des numéros de carte
bancaire et d’autres numéros. Le même algorithme est utilisé pour les numéros de
cartes SNCF à 17 chiffres.
Ainsi, pour vérifier un numéro de carte bancaire, on double les chiffres de rang pair
(à partir de la gauche) du numéro à 16 chiffres ; si le total est multiple de 10, c’est un
numéro de carte qui a un format valide.
Exemple : une carte bancaire a le numéro suivant : 3573 6300 5499 6611
N°: 3 5 7 3 6 3 0 0 5 4 9 9 6 6 1 1
x x x x x x x x x x x x x x x x
2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1
___________________________________________________
6 5 14 3 12 3 0 0 10 4 18 9 12 6 2 1
Calcul de la somme : 6+5+1+4+3+1+2+3+0+0+1+0+4+1+8+9+1+2+6+2+1 = 60.
Il s’agit d’un format valide car 60 est un multiple de 10.
Remarque : les 15 premiers chiffres de la carte donnent des renseignements sur le
type de carte, le nom de la banque, le numéro de compte.......le 16ième chiffre est la
clé de Luhn.
Retrouver la clé de Luhn pour une carte :
Les 15 premiers chiffres de la carte sont : 4970 1012 3456 789
Etape n°1
On multiplie le premier chiffre de gauche par 2. Si le résultat de la multiplication par 2 est
strictement supérieur à 9, on retranche 9. Ainsi 4 devient 8 auquel on ne retranche pas 9 puisque
4 est strictement inférieur à 9.
Le deuxième chiffre en partant de la gauche reste inchangé. Ainsi 9 reste 9.
On répète cet algorithme : pour le troisième chiffre en partant de la gauche7 devient 8 car
7 2=14 et 14 9 =5.
0 reste 0 ; 1 devient 2 ; 0 reste 0 ; 1 devient 2 ; 2 reste 2 ;
3 devient 6 ; 4 reste 4, etc
A la fin de la première étape, on obtient 8950 2022 6416 589