Vérificateur d'algorithme de Luhn

Luhn ne valide que le chiffre de contrôle, pas le fait que la carte soit active.

L’algorithme de Luhn (ISO/IEC 7812-1) est le code de contrôle qui protège les numéros de carte de crédit, les identifiants d’appareil IMEI, les NAS canadiens, les NPI américains et quelques autres systèmes de numérotation contre les erreurs de frappe à un chiffre. Collez une chaîne de chiffres, les espaces et les tirets sont ignorés, et le vérificateur montre si le numéro est valide et explique les étapes de doublement et de somme pour que vous puissiez le vérifier manuellement si vous le souhaitez.

Comment le contrôle de Luhn est calculé

  1. 1

    Supprimer les non-chiffres

    Les espaces, tirets et points sont supprimés. Seuls les chiffres 0–9 comptent.

  2. 2

    Doubler chaque deuxième chiffre en partant de la droite

    En commençant par l'avant-dernier, chaque chiffre alternatif est doublé.

  3. 3

    Sommer les chiffres de chaque valeur doublée

    Si le doublement donne 14, ajoutez 1 + 4 = 5. Équivalent à soustraire 9 de tout double ≥ 10.

  4. 4

    Totaliser toutes les valeurs résultantes

    Ajoutez les chiffres doublés et réduits plus les chiffres non touchés.

  5. 5

    Vérifier la divisibilité par 10

    Si le total se termine par 0, le numéro est valide. Sinon, il est invalide.

Exemple pratique

Vérifiez 4539 1488 0343 6467:

Pos (droite→gauche) Chiffre Doublé ? Valeur
1 7 non 7
2 6 oui 12 → 3
3 4 non 4
4 6 oui 12 → 3
5 3 non 3
6 4 oui 8
7 3 non 3
8 0 oui 0
9 8 non 8
10 8 oui 16 → 7
11 4 non 4
12 1 oui 2
13 9 non 9
14 3 oui 6
15 5 non 5
16 4 oui 8

Total : 80. 80 mod 10 = 0 → valide.

Où Luhn est utilisé

Système Longueur Protégé par Luhn ?
Visa, Mastercard, Discover 13–19 chiffres oui
American Express 15 chiffres oui
IMEI (ID d’appareil GSM) 15 chiffres oui
NAS canadien 9 chiffres oui
Identifiant de fournisseur national américain 10 chiffres oui
ID israélien (Teudat Zehut) 9 chiffres oui
ISBN-13 13 chiffres non (utilise mod 10 avec poids 1,3)

Ce que Luhn détecte et manque

  • Détecte : toutes les erreurs à un chiffre, la plupart (mais pas toutes) des transpositions de chiffres adjacents.
  • Manque : la transposition 09 ↔ 90 et plusieurs paires similaires. C’est un contrôle de frappe, pas un contrôle de sécurité.
  • Pas une fonctionnalité de sécurité. Un numéro valide selon Luhn est facile à générer. La validation PAN aux passerelles de paiement utilise des plages d’émetteurs, CVV, AVS et 3-D Secure, pas seulement Luhn.

Questions fréquentes

Non. Luhn vérifie seulement que le numéro est mathématiquement bien formé. Il ne dit rien sur le fait que la carte a été émise, a des fonds ou est volée. La validation réelle se fait chez l’émetteur lors de l’autorisation.

Oui, le dernier chiffre est le chiffre de contrôle et peut toujours être choisi pour rendre la somme divisible par 10. C’est ainsi que fonctionnent les générateurs IMEI et les numéros de carte de test.

Il détecte chaque substitution à un chiffre et la plupart des transpositions de chiffres adjacents, mais quelques paires (comme 09 ↔ 90) laissent le code de contrôle inchangé. Des systèmes plus robustes (ISBN-13, Verhoeff, Damm) échangent complexité contre une couverture d’erreur supplémentaire.

Le vérificateur fonctionne entièrement dans votre navigateur, donc rien n’est transmis, mais coller des données PAN en direct n’importe où où ce n’est pas nécessaire est une mauvaise habitude. Utilisez des numéros de test (par exemple, 4242 4242 4242 4242) lors de vos expérimentations.

Luhn fonctionne sur n’importe quelle longueur mais est standardisé pour des systèmes spécifiques (généralement 9–19 chiffres). Le vérificateur ne limite pas la longueur.

Outils similaires

Outil disponible dans d’autres langues