ForHosting KIT · Outils pour développeurs

Chiffre de contrôle Luhn mod-10

Pour 7992739871, le chiffre de contrôle Luhn est 3, ce qui donne 79927398713 : la règle modulo 10 des cartes de paiement, appliquée à toute suite de chiffres, comme des numéros d'adhérent ou de série. L'outil valide aussi les numéros complets. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Nombre
7992739871
Vous obtenez
Mode de calcul
Compute
Entrée
7992739871
Chiffre de contrôle
3
Avec chiffre de contrôle
79927398713

Les longs codes de compte, fragments d’IMEI, numéros d’adhérent et séries internes sont faciles à mal saisir. L’algorithme de Luhn — aussi appelé schéma de chiffre de contrôle modulo 10 — ajoute un unique chiffre final de sorte que la plupart des substitutions d’un chiffre et de nombreuses transpositions adjacentes rompent la somme de contrôle. Cette capacité calcule ce chiffre pour toute charge utile de chiffres purs que vous avez déjà, ou valide un numéro complet qui l’inclut déjà, et rejette les entrées non numériques avec une erreur claire au lieu de supprimer silencieusement tirets ou lettres. Contrairement à un contrôleur réservé aux cartes de paiement, elle accepte toute longueur de chiffres afin que vous puissiez protéger des SKU d’entrepôt, des identifiants de fidélité et des étiquettes par lots avec la même règle que l’industrie utilise déjà sur les cartes.

Ce que fait l’algorithme Luhn mod-10 et ce qu’il détecte

Les chiffres de contrôle existent parce que les personnes et les claviers introduisent des dommages prévisibles : une touche erronée, deux chiffres voisins échangés, ou un chiffre inséré ou omis lors d’une resaisie. Hans Peter Luhn a publié une procédure simple de droite à gauche qui double chaque second chiffre, réduit les valeurs supérieures à neuf en soustrayant neuf, somme le résultat et choisit un chiffre final pour que le total soit divisible par dix.

Cette construction détecte toutes les erreurs d’un seul chiffre et la plupart des transpositions adjacentes, c’est pourquoi les réseaux de paiement, les identifiants télécoms et d’innombrables formats de compte internes s’y fient encore des décennies plus tard. Cet outil met en œuvre ce parcours standard sur toute chaîne de chiffres purs — ni variante maison ni analyseur de BIN de réseau de cartes.

Vous obtenez le chiffre de contrôle comme chaîne d’un caractère, le numéro complet avec le chiffre ajouté, ou un indicateur booléen de validité avec le chiffre de contrôle attendu recalculé à partir de la seule charge utile. La réponse nomme toujours l’algorithme comme luhn afin que les systèmes en aval enregistrent quel schéma a protégé la valeur.

Par rapport aux chiffres de contrôle de quasigroupe Damm, Luhn est le défaut de facto de l’industrie pour les champs de type carte ou compte ; par rapport aux chiffres de la famille des codes-barres (EAN, UPC, ISBN), Luhn n’est pas lié à une mise en page GTIN de détail — il s’applique à toute charge utile de chiffres que vous choisissez.

Connaître ces compromis vous aide à choisir le bon schéma : utilisez Luhn lorsque l’interopérabilité avec des systèmes mod-10 existants compte davantage que de capturer jusqu’au dernier couple de transposition.

Comment calculer un chiffre de contrôle ou valider un numéro complet

Envoyez un champ number ne contenant que les caractères de 0 à 9. Le mode validate attend un numéro complet d’au moins deux chiffres (un ou plusieurs chiffres de charge utile plus le chiffre de contrôle final). Cette forme facilite l’affichage « vous avez saisi X, attendu Y » dans un formulaire sans second appel.

Chaînes vides, number manquant et valeurs de mode invalides échouent avant tout doublement et ne sont pas facturés. Préférez compute lorsque vous créez de nouveaux identifiants ; préférez validate lorsque vous recevez un identifiant d’un utilisateur, d’un fichier partenaire ou d’une étiquette scannée et qu’il vous faut une porte booléenne avant de rechercher l’enregistrement.

Où les chiffres de contrôle Luhn s’intègrent dans les systèmes réels

Les programmes d’adhésion et de fidélité génèrent des identifiants numériques séquentiels ou aléatoires et ont besoin d’un chiffre final que les agents de centre d’appels et les claviers mobiles ne corrompent pas en silence. Les équipes d’entrepôt et de logistique impriment des codes de carton ou d’actif ; un seul chiffre mal saisi sur un terminal portable est courant, et Luhn détecte toute substitution d’un chiffre.

Les flux télécoms et appareils qui documentent déjà l’IMEI ou des identifiants similaires sous forme mod-10 peuvent recalculer et vérifier sans interface spécifique aux cartes. Les tests d’intégration et les tâches de qualité des données recalculent le chiffre de contrôle attendu pour chaque ligne d’un export CSV et signalent les lignes où le numéro complet stocké ne correspond plus, ce qui détecte aussi bien les éditions humaines que les bugs de décalage d’un dans les générateurs.

Les équipes produit qui exposent déjà un validateur Luhn de carte pour le parcours de paiement peuvent encore adopter cet outil général pour des identifiants internes où le même algorithme est requis mais l’entrée n’est pas un PAN. Ne traitez pas un contrôle Luhn réussi comme preuve d’autorisation, de propriété ou qu’une carte est réelle — il prouve seulement que la chaîne de chiffres est bien formée sous cet algorithme, le même niveau d’honnêteté que vous appliquez à toute somme de contrôle.

Auditer des colonnes d’identifiants exportées

Validez par lots tous les identifiants numériques d’un CSV partenaire ou d’un export d’entrepôt et mettez en quarantaine les lignes dont le chiffre de contrôle ne correspond plus à la valeur attendue recalculée.

Qu’est-ce qu’un chiffre de contrôle Luhn mod-10 ?

C’est un unique chiffre final calculé avec l’algorithme de doublement de Hans Peter Luhn de sorte que la somme pondérée des chiffres du numéro complet soit divisible par dix, détectant la plupart des erreurs d’un chiffre et de nombreuses transpositions.

Que se passe-t-il avec les lettres, espaces ou tirets ?

Fournissez uniquement les chiffres 0-9 ; les tâches de validation en échec ne sont pas facturées.

L’outil de chiffre de contrôle Luhn est-il gratuit ?

L’outil navigateur est gratuit et s’exécute en local.

Quelles fautes de frappe le chiffre de contrôle Luhn détecte-t-il ?

Il détecte tout chiffre erroné et la plupart des inversions de deux chiffres voisins, les deux erreurs les plus fréquentes lors d'une ressaisie. Quelques inversions lui échappent : c'est la contrepartie de la compatibilité avec les systèmes modulo 10 existants.

Un numéro Luhn valide signifie-t-il que la carte ou le compte existe ?

Non. Réussir le contrôle montre seulement que la suite de chiffres est bien formée selon la règle de Luhn. Cela ne prouve ni autorisation, ni titularité, ni l'existence d'une carte : servez-vous-en comme filtre contre les fautes de frappe.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/enc/luhn

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/enc/luhn \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"7992739871"}'
{
  "number": "7992739871"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.luhn",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Exécutez-la gratuitement dans le navigateur ou appelez l’API KIT au prix publié ; les deux chemins utilisent la même arithmétique pure, sans réseau et sans numéros stockés.

Comment calculer un chiffre de contrôle ou valider un numéro complet

Espaces, tirets, lettres, points décimaux et notation scientifique sont rejetés comme entrée non numérique avec invalid_input, afin que vous n’acceptiez jamais une valeur silencieusement tronquée. Le mode compute est le défaut : le moteur parcourt la charge utile depuis la droite comme si un chiffre de contrôle se plaçait à la fin, renvoie check_digit comme chaîne d’un caractère et renvoie with_check comme la charge utile plus ce chiffre, pour que vous puissiez stocker ou imprimer une seule chaîne. La réponse indique valid à true lorsque la somme pondérée complète est divisible par dix, et inclut toujours le check_digit final, l’expected_check_digit recalculé à partir de la seule charge utile et la sous-chaîne payload sans le dernier chiffre. Comme le chemin est un parse pur sans horloge, source aléatoire ni réseau, la même entrée produit toujours le même JSON sur l’outil gratuit du navigateur et sur l’API. À $0.002 par requête réussie, vous pouvez protéger des imports en masse, des formulaires d’inscription et des imprimantes d’étiquettes par lots sans négocier un niveau sur mesure.

Créer des identifiants d’adhérent ou de compte

Générez une charge utile séquentielle, appelez le mode compute et stockez with_check afin que chaque nouvel identifiant porte un chiffre final Luhn avant impression sur cartes ou envoi par e-mail aux adhérents.

Valider des codes saisis ou scannés à l’entrée

Lorsqu’un utilisateur ou un scanner soumet un numéro complet, appelez le mode validate et bloquez la recherche lorsque valid est false, en affichant expected_check_digit pour aider à corriger une seule faute de frappe.

Comment calculer un chiffre de contrôle Luhn avec cette API ?

Envoyez un POST avec number égal aux chiffres de la charge utile et mode compute (ou omettez mode). La réponse inclut check_digit et with_check (charge utile plus chiffre de contrôle).

Comment valider un numéro qui a déjà un chiffre de contrôle ?

Envoyez un POST avec la chaîne complète de chiffres et mode validate. La réponse inclut valid, check_digit, expected_check_digit et payload sans le dernier chiffre.

Consulter la documentation complète du KIT →