web-dev-qa-db-fra.com

Comment le site Web a-t-il pu dire que ma carte de crédit était erronée avant de la traiter?

Je mettais mon numéro cc et dès que j'avais fini de saisir 16 chiffres, il le surlignait en rouge. Je l'ai regardé et j'ai réalisé qu'un chiffre était faux. Corrigé, il est devenu noir. Comment le site Web a-t-il su que c'était faux?

23
larry909

Les numéros de carte de crédit peuvent être vérifiés en calculant une somme de contrôle.

Chaque numéro de carte de crédit créé se voit attribuer un numéro suivant un algorithme.

Ross Millikan : La somme de contrôle spécifie le dernier chiffre, il reste donc 15 chiffres. Cela devrait signifier qu'il y a 10 ^ 15 numéros disponibles, mais il y a d'autres restrictions. Le premier chiffre est le type de carte (4 = Visa, 5 = MasterCard, etc.) et les suivants concernent l'émetteur.

Ensuite, si ce numéro de carte de crédit n'est pas conforme à l'algorithme, la somme de contrôle est incorrecte, le numéro doit donc être invalide.

L'algorithme est appelé "algorithme de Luhn", vérifiez ceci Wikipage pour plus d'informations.

TripeHound: Remarque: si un numéro donné échoue à la vérification, ce n'est certainement pas un vrai numéro CC. Cependant, s'il réussit le chèque, il prouve seulement qu'il s'agit d'un numéro CC potentiel: il ne prouve pas qu'il a bien été émis. La prochaine étape de vérification (parler à un processeur de carte) devrait le vérifier. Des vérifications similaires peuvent être effectuées sur paires Royaume-Uni code de tri/numéro de compte (et probablement quelque chose de similaire dans d'autres pays) et sur International Bank Account Numbers (IBANs)

Modifier: Ajout de certaines informations fournies dans les commentaires à la réponse. Les appels vont leur donner aussi un Upvote, ses excellentes informations.

50
Jens Krüger

La plupart des fournisseurs de cartes de crédit utilisent une forme de somme de contrôle pour leurs numéros de carte de crédit, généralement le Luhn Algorithm . La vérification de l'algorithme de Luhn est aussi simple que son exécution sur un nombre et l'obtention de 0 en conséquence. Si un résultat différent est obtenu, la somme de contrôle échoue.

Vous pouvez voir sur la page Numéro de carte de paiement dans Wikipedia que les émetteurs de numéro de carte de crédit peuvent être reconnus par leur préfixe et le nombre de chiffres, et qu'à ce jour un seul émetteur (Diners Club enRoute) n'utilise pas le Luhn Check.

Il est d'usage d'utiliser le Luhn Check le plus tôt possible lors de la validation des entrées, afin de fournir un retour d'information plus rapide à l'utilisateur et de réduire les coûts de traitement.


L'algorithme est utilisé par de nombreux autres types de nombres, comme vous pouvez le voir dans l'article Wikipedia. C'est un moyen assez simple de se protéger contre de nombreux types d'erreurs de frappe ou de transmission. Il n'est pas infaillible, cependant, et notamment certaines erreurs faciles, telles que l'inversion de l'ordre de deux chiffres consécutifs, ne sont pas détectées.

0
Matthieu M.