L'algorithme de la clé de Luhn sert pour vérifier le format des numéros de carte bancaire et d'autres numéros.
1 numéro sur 10 a un format valide selon cet algorithme, cela permet
donc de déterminer le dernier numéro des cartes bancaires connaissant
les 15 premiers.
Le même algorithme est utilisé pour les numéros de cartes SNCF à 17 chiffres, de SIREN à 9 chiffres et de SIRET à 14 chiffres.
Cet algorithme est extrêmement simple, il n'y a que des additions à faire !
Pour vérifiez un numéro de carte bancaire, on double les chiffres
de rang pair (à partir de la droite) du numéro à 16 chiffres et on
additionne les chiffres, si le total est multiple de 10, c'est un
numéro de carte bancaire qui a un format valide :
Exemple 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
On calcule la somme : 6+5+1+4+3+1+2+3+0+0+1+0+4+1+8+9+1+2+6+2+1
= 60,
c'est un format valide de numéro de carte bancaire car 60 est un multiple de 10
Cet algorithme peut être appliqué pour n'importe quelle longueur du numéro
(15 pour IMEI, 16 pour carte bancaire, 17 pour cartes SNCF,
9 pour SIREN).