Rechercher un outil
Algorithme de Luhn (Vérification de Numéros)

Outils de vérification de numéros par l'algo de Luhn. L'algorithme de Luhn (modulo 10 ou mod 10) est une formule de validation de nombres utilisée notamment pour les cartes bancaires et les numéros administratifs (SIRET).

Résultats

Algorithme de Luhn (Vérification de Numéros) -

Catégorie(s) : Somme de Contrôle, Arithmétique

Partager
Partager
dCode et vous

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 ? Ecrire à dCode !


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Algorithme de Luhn (Vérification de Numéros), Merci.

Algorithme de Luhn (Vérification de Numéros)

Annonces sponsorisées

Nombres générés avec l'algorithme de Luhn



Voir aussi : Numéro IBAN

Générateur de Numéros Valides


Numéro avec Chiffres Manquants


Outils de vérification de numéros par l'algo de Luhn. L'algorithme de Luhn (modulo 10 ou mod 10) est une formule de validation de nombres utilisée notamment pour les cartes bancaires et les numéros administratifs (SIRET).

Réponses aux Questions

A quoi sert l'algorithme de Luhn ?

Luhn permet de vérifier des numéros (carte bancaire, SIRET, etc.) via une clé de contrôle (appelé checksum, c'est un chiffre du numéro qui permet de vérifier les autres). Si un caractère est mal lu ou mal écrit, alors l'algorithme de Luhn pourra détecter cette erreur.

Luhn est connu car MasterCard, American Express (AMEX), Visa et toutes les cartes bancaires l'utilisent.

Exemple : 12345674 est un numéro de carte valide, 1234567 est le numéro initial et 4 est la clé de contrôle.

Exemple : Si un utilisateur entre 13245674 (avec 2 et 3 inversés), alors le programme calcule la clé de Luhn pour 1324567 et trouve 5 au lieu de 4 attendu, le numéro est détecté comme invalide et donc le code a mal été recopié.

Comment vérifier un numéro avec Luhn ? (Principe de calcul de validité)

L'algorithme de Luhn commence par la fin du numéro. Prendre le dernier chiffre et se déplacer vers la gauche. Doubler la valeur de tous les chiffres de rang pair. Si le double d'un chiffre est supérieur ou égal à 10, le remplacer par la somme de ses chiffres. Réaliser la somme $ s $ de tous les chiffres obtenus. La clé de contrôle $ c $ est égal à $ c = (10 - ( s \mod 10 ) \mod 10) $

Exemple : Calculer X pour le nombre 853X, en posant d'abord X=0.
Prendre le 3, le doubler pour obtenir 6.
Prendre le 5, non doublé.
Enfin, doubler le 8 (8*2=16 et 1+6=7) pour obtenir 7.
La somme est 6+5+7 = 18. Comme 18 modulo 10 = 8, calculer 10 - 8 = 2, la clé de contrôle X est donc 2. Ainsi 8532 est valide selon Luhn.

8530
8*2=16reste 53*2=6reste 0
1+6=7560
s=7+5+6+0=18
c=10-(18%10)=2

Comment calculer un code CCV/CVC1/CVV1/CVC2/CVV2 ?

Les codes CVC (Card Validation Code) ou CVV (Card Validation Value) sont des codes à 3 chiffres au dos des cartes bancaires. Ils sont générés par les banques, Visa et MasterCard ont leur propre algorithme (à base de clé privée) utilisant notamment le numéro de compte personnel, la date d'expiration de la carte et le code de service, ces informations sont ensuite comparées par celles calculées par l'établisement bancaire. Il existe même des banques qui proposent de changer ces nombres à volonté. Ces numéros sont donc impossibles à calculer sans connaitre l'algorithme ou la clé privée, et il n'y a aucun rapport avec l'algorithme de Luhn.

Comment calculer la date d'expiration d'une carte ?

La date d'expiration (exp) n'est pas une valeur dépendant de l'algorithme de Luhn, elle n'est pas calculable. Sa valeur est écrite sur le devant de la carte au format mm/aa.

Est-ce que Luhn peut être utilisé pour les codes de cartes cadeau ?

La bonne pratique pour générer un code de carte cadeau est de générer un nombre aléatoire et d'y associer une somme de controle comme l'algorithme de Luhn. Le code de la carte cadeau est alors stocké dans une base de données avec ses données (argent, nom, points fidélité, etc.). L'utilisation de Luhn permet de s'assurer que le code cadeau est bien écrit s'il doit être tapé par un humain ou lu par une machine.

Une personne voulant retrouver l'algorithme de génération ne pourra alors pas y parvenir, le nombre aléatoire assurant une trop faible probabilité de réussite.

NB : tous les codes de carte cadeaux ne sont malheureusement pas basés sur un code aléatoire et s'ils sont déterministes, ils sont alors soumis à une faille de sécurité permettant d'en faire le reverse engineering et d'en générer à volonté.

Est-ce que Luhn est utilisé pour la bande magnétique d'une carte bancaire ?

Non, dans la bande magnétique se trouve les informations de la carte bancaire complétées par une somme de controle différente : le Longitudinal redundancy check.

Code source

dCode se réserve la propriété du code source du script Algorithme de Luhn (Vérification de Numéros) en ligne. Sauf code licence open source explicite (indiqué Creative Commons / gratuit), tout algorithme, applet, snippet ou logiciel (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter, encrypter, déchiffrer, chiffrer, décoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) dont dCode a les droits ne sera pas cédé gratuitement. Pour télécharger le script en ligne Algorithme de Luhn (Vérification de Numéros) pour un usage hors ligne, PC, iPhone ou Android, demandez un devis sur la page de contact !

Questions / Commentaires


dCode aime toutes les remarques et commentaires pertinents, pour avoir une réponse, laisser un email (non publié) ! C'est grâce à vous que dCode a le meilleur outil de Algorithme de Luhn (Vérification de Numéros), Merci.


Source : https://www.dcode.fr/algorithme-luhn
© 2019 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches. dCode
Un problème ?