ForHosting KIT · Outils pour développeurs

Chiffre de contrôle Damm

Ajoutez un seul chiffre à n'importe quel nombre et repérez les fautes de frappe les plus courantes : 572 reçoit le chiffre de contrôle Damm 4 et devient 5724, et tout chiffre erroné ou toute inversion de deux voisins fait échouer la vérification. 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
Chaîne de chiffres uniquement
572
Vous obtenez
Mode de calcul
Compute
Entrée
572
Clé de contrôle
4
Avec clé
5724

Saisir à la main de longs codes de compte, numéros de série ou identifiants d'adhérent, c'est là que se cachent la plupart des erreurs de chiffres. L'algorithme du chiffre de contrôle Damm ajoute un unique chiffre final de sorte que toute substitution d'un seul chiffre et toute transposition de deux chiffres adjacents rompe la somme de contrôle — une garantie plus forte que les simples schémas modulo 10 pour les fautes exactes que commettent les humains. Cette capacité calcule ce chiffre pour une charge utile que vous possédez déjà, ou valide un nombre complet qui en contient déjà un, et rejette toute entrée non numérique avec une erreur claire au lieu d'ignorer silencieusement des données parasites.

Ce que l'algorithme Damm détecte et que les contrôles faibles manquent

Les chiffres de contrôle existent parce qu'humains et claviers introduisent des dommages prévisibles : une mauvaise touche, deux chiffres voisins intervertis, ou un chiffre inséré ou supprimé. De nombreux schémas courants, dont la règle classique de Luhn utilisée sur les cartes de paiement, détectent la plupart des erreurs d'un seul chiffre et beaucoup d'inversions adjacentes, mais ils laissent quelques paires de transposition invisibles — notamment 09 contre 90 sous Luhn.

H. Michael Damm a conçu une construction différente : les chiffres sont combinés de gauche à droite à travers une table fixe de quasi-groupe totalement anti-symétrique de dix par dix, en partant d'un zéro intermédiaire. Grâce à la structure de cette table, une fois la charge utile traitée, le chiffre intermédiaire est exactement le chiffre de contrôle à ajouter, et le traitement du nombre complet, ce chiffre inclus, se termine toujours à zéro quand le nombre est bien formé.

Les propriétés algébriques garantissent que modifier n'importe quel chiffre, ou intervertir deux chiffres adjacents, ne peut laisser l'intermédiaire final à zéro. C'est le gain concret pour les numéros de compte, les SKU d'entrepôt, les identifiants de patient ou de ticket, et tout code de longueur fixe où une seule faute de frappe aiguillerait le travail vers le mauvais enregistrement. Cet outil met en œuvre cette table standard et le parcours standard de gauche à droite ; il n'invente pas de variante maison.

La sortie nomme toujours l'algorithme comme damm, afin que les systèmes en aval enregistrent quel schéma a protégé la valeur. Comparé aux chiffres de contrôle de la famille des codes-barres (EAN, UPC, ISBN), Damm n'est pas lié à une disposition GTIN de vente au détail — il s'applique à toute chaîne de chiffres pure que vous choisissez comme charge utile, ce qui explique sa place dans un utilitaire d'encodage plutôt que dans un validateur de codes-barres produit.

Comment calculer un chiffre de contrôle ou valider un nombre complet

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

Chaînes vides, number manquant et valeurs de mode invalides échouent avant toute consultation de la table 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 Damm trouvent leur place

Les programmes d'adhésion et de fidélité créent 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 corrompront pas silencieusement. Les équipes d'entrepôt et de logistique impriment des codes de carton ou d'actif ; une transposition de deux chiffres sur le chemin d'un scanner portable est fréquente, et Damm détecte chaque inversion adjacente que les schémas faibles manquent.

Les services de santé et d'éducation qui manipulent encore des formulaires papier avec des numéros de référence à plusieurs chiffres peuvent valider à la saisie et afficher une correction immédiate au lieu de créer un dossier ou une inscription en double.

Les tests d'intégration et les traitements de qualité des données recalculent le chiffre de contrôle attendu pour chaque ligne d'un export CSV et signalent les lignes dont le nombre complet stocké ne correspond plus, ce qui attrape à la fois les modifications humaines et les bogues de décalage d'un dans les générateurs.

Les équipes produit qui utilisent déjà Luhn pour des champs de type carte peuvent tout de même adopter Damm pour les identifiants internes où la propriété de transposition plus forte importe davantage que les conventions des réseaux de cartes. Ne considérez pas un contrôle Damm réussi comme une preuve d'autorisation ou de propriété — il prouve seulement que la chaîne de chiffres est bien formée sous cet algorithme, la même exigence d'honnêteté que vous appliquez à toute somme de contrôle.

Auditer les colonnes d'identifiants exportées

Validez par lots chaque identifiant numérique 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 Damm ?

C'est un unique chiffre final calculé avec l'algorithme de quasi-groupe de H. Michael Damm, de sorte que tout chiffre erroné ou toute transposition adjacente fasse échouer la validation du nombre complet.

Comment valider un nombre qui possède déjà un chiffre de contrôle ?

Envoyez la chaîne de chiffres complète et mode validate.

Que se passe-t-il avec des lettres, des espaces ou des 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 Damm est-il gratuit ?

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

Quelle différence entre Damm et le chiffre de contrôle Luhn ?

Luhn détecte presque toutes les erreurs sur un chiffre, mais laisse passer quelques inversions de chiffres voisins, comme 09 saisi 90. Damm détecte toute erreur sur un chiffre et toute inversion de deux chiffres adjacents, ce qui convient aux numéros de compte ou d'adhérent saisis à la main.

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/damm

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/damm \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"572"}'
{
  "number": "572"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.damm",
  "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 tarif publié ; les deux voies utilisent la même arithmétique pure, sans réseau ni conservation des nombres.

Comment calculer un chiffre de contrôle ou valider un nombre complet

Espaces, tirets, lettres, points décimaux et notation scientifique sont rejetés comme entrée non numérique avec invalid_input, ainsi vous n'acceptez jamais une valeur silencieusement tronquée. Le mode compute est celui par défaut : le moteur parcourt la charge utile à travers la table de Damm, renvoie check_digit sous forme de chaîne d'un caractère, et renvoie with_check comme la charge utile suivie de ce chiffre, afin que vous stockiez ou imprimiez une seule chaîne. La réponse indique valid à vrai lorsque le parcours complet se termine à l'intermédiaire zéro, et inclut toujours le check_digit final, le expected_check_digit recalculé à partir de la seule charge utile, et la sous-chaîne de charge utile sans le dernier chiffre. Comme la voie est du pur parcours, 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 imports en masse, formulaires d'inscription et imprimantes d'étiquettes par lots sans négocier de palier sur mesure.

Où les chiffres de contrôle Damm trouvent leur place

Dans chaque flux, le contrat est le même : chiffres uniquement, calcul ou validation, JSON structuré testable au caractère près, comportement identique gratuit dans le navigateur ou via le solde KIT prépayé, et échec honnête quand l'entrée n'est pas numérique.

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 Damm avant d'être imprimé sur des cartes ou envoyé par courriel aux membres.

Valider les codes saisis ou scannés à l'entrée

Lorsqu'un utilisateur ou un scanner soumet un nombre complet, appelez le mode validate et bloquez la recherche quand valid est faux, en affichant expected_check_digit pour aider à corriger une seule faute de frappe.

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

Envoyez number avec les 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).

Consulter la documentation complète du KIT →