Chiffres de contrôle ISO 7064 mod 97-10
Pour 123456, les chiffres de contrôle ISO 7064 MOD 97-10 sont 76, ce qui donne 12345676 : la règle à deux chiffres qui protège l'IBAN, appliquée à tout code de lettres et de chiffres. La validation vérifie un code qui les porte déjà. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- 123456
- Mode de calcul
- Compute
- Entrée
- 123456
- Chiffres de contrôle
- 76
- Avec chiffre de contrôle
- 12345676
Les longues références de compte, les identifiants de paiement et les codes d'entrepôt sont faciles à mal saisir, et un seul caractère erroné peut envoyer de l'argent ou des marchandises au mauvais endroit. Le système de chiffres de contrôle ISO 7064 MOD 97-10 ajoute deux chiffres décimaux afin que presque toute erreur d'un caractère et de nombreuses transpositions cassent la somme de contrôle. Cette capacité calcule ces deux chiffres pour une charge alphanumérique que vous avez déjà, ou valide une chaîne complète qui les inclut déjà, et rejette les entrées non alphanumériques avec une erreur claire au lieu de supprimer silencieusement les déchets. Les lettres sont mappées de A égale dix à Z égale trente-cinq avant l'arithmétique modulaire, conformément au jeu hybride utilisé par les schémas de type IBAN et d'autres codes MOD 97-10.
Ce qu'est ISO 7064 MOD 97-10 et pourquoi deux chiffres comptent
Les chiffres de contrôle existent parce que les humains, les claviers, l'OCR et la copie manuelle introduisent des altérations prévisibles : un caractère erroné, deux symboles voisins échangés, ou un chiffre omis ou inséré. ISO 7064 définit plusieurs systèmes de contrôle modulaires ; MOD 97-10 est le système pur (et hybride alphanumérique) qui produit deux caractères de contrôle dans l'alphabet des chiffres de zéro à neuf.
En pratique vous mappez les lettres de A à Z vers les valeurs à deux chiffres de dix à trente-cinq, traitez la chaîne entière comme un grand entier en base dix après cette expansion, et exigez que cet entier soit congruent à un modulo quatre-vingt-dix-sept lorsque les deux chiffres de contrôle sont inclus. Pour émettre des chiffres de contrôle vous ajoutez temporairement deux zéros, prenez le reste modulo quatre-vingt-dix-sept, et fixez la valeur de contrôle à quatre-vingt-dix-huit moins ce reste, toujours écrite comme deux chiffres de zéro-un à quatre-vingt-dix-huit.
Cette construction est exactement celle que les numéros de compte bancaire internationaux utilisent en coulisse pour leurs deux chiffres de contrôle après le code pays, et la même mathématique protège des références liées à SEPA, certains identifiants nationaux de créancier et des codes internes qui ont choisi MOD 97-10 pour sa forte distribution résiduelle. Deux chiffres de contrôle donnent un module de quatre-vingt-dix-sept, un nombre premier, qui offre une bien meilleure couverture résiduelle qu'un seul chiffre modulo dix pour les motifs de fautes de frappe que les gens commettent réellement.
Par rapport aux schémas à un seul chiffre tels que Damm ou Luhn, MOD 97-10 est le bon choix lorsque votre domaine documente déjà ISO 7064 ou les règles de la famille IBAN et que vous avez besoin de deux chiffres de contrôle décimaux plutôt que d'un seul.
Comment calculer des chiffres de contrôle ou valider un code complet
Envoyez un champ text qui ne contient que les caractères de A à Z et les chiffres de zéro à neuf. La casse est ignorée ; le moteur met en majuscules avant le mappage. Le mode validate attend une chaîne complète d'au moins trois caractères (un ou plusieurs caractères de charge utile plus les deux chiffres de contrôle finaux).
La paire finale doit être des chiffres décimaux ; s'il s'agit de lettres la requête échoue avant tout parcours modulaire. Cette forme facilite l'affichage de « vous avez saisi X, Y était attendu » dans un formulaire sans second appel. Les chaînes vides, le text manquant et les valeurs de mode invalides échouent avant toute arithmétique et ne sont pas facturés.
Préférez compute lorsque vous émettez de nouveaux codes ; préférez validate lorsque vous recevez un code d'un utilisateur, d'un fichier partenaire ou d'une étiquette scannée et avez besoin d'une porte booléenne avant de chercher l'enregistrement. Notez que la validation IBAN complète réarrange aussi le pays et les positions de contrôle et applique des tables de longueur par pays ; cette capacité est le noyau partagé MOD 97-10, pas un vérificateur complet de format IBAN par pays.
Où les chiffres de contrôle MOD 97-10 s'intègrent dans les systèmes réels
Les équipes trésorerie et paiements qui construisent des références de paiement internes à côté des champs IBAN ont besoin de la même règle de contrôle à deux chiffres sans tirer une bibliothèque bancaire complète. Les programmes d'adhésion et de fidélité émettent des identifiants alphanumériques et veulent une paire finale 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 ; la transposition de deux chiffres sur le chemin d'un terminal portable est courante, et un module de quatre-vingt-dix-sept attrape bien plus de ces erreurs qu'un seul chiffre modulo dix. Les bureaux de santé et d'éducation qui déplacent encore des formulaires papier avec des numéros de référence multi-caractères peuvent valider à l'entrée 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 tâches de qualité des données recalculent les chiffres de contrôle attendus pour chaque ligne d'un export CSV et signalent les lignes dont le code 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 encore adopter MOD 97-10 pour des identifiants internes lorsque la norme du domaine ou le contrat partenaire spécifie déjà ISO 7064.
Ne traitez pas un contrôle MOD 97-10 réussi comme une preuve d'autorisation, de propriété, ou qu'une chaîne est un vrai compte bancaire dans un pays donné — il prouve seulement que la chaîne de caractères est bien formée sous cet algorithme, le même critère d'honnêteté que vous appliquez à toute somme de contrôle.
Cas d’usage
Auditer des colonnes de codes exportées
Validez par lots chaque référence alphanumérique d'un CSV partenaire ou d'un export d'entrepôt et mettez en quarantaine les lignes dont les chiffres de contrôle ne correspondent plus à la valeur attendue recalculée.
Questions fréquentes
Qu'est-ce que le chiffre de contrôle ISO 7064 mod 97-10 ?
C'est un contrôle décimal à deux chiffres calculé avec le module 97 afin que presque toute erreur d'un caractère dans un code alphanumérique fasse échouer la validation de la chaîne complète.
Que se passe-t-il avec les espaces, tirets ou autres symboles ?
Fournissez uniquement A-Z et 0-9 ; les tâches de validation en échec ne sont pas facturées.
Comment les deux chiffres de contrôle sont-ils calculés ?
On ajoute deux zéros à la fin du code, on prend le reste de la division par quatre-vingt-dix-sept, et le contrôle vaut quatre-vingt-dix-huit moins ce reste, toujours écrit sur deux chiffres. Pour 123456, on obtient 76.
Puis-je valider un IBAN complet avec cet outil ?
Seulement son cœur de calcul. La vérification complète d'un IBAN déplace aussi le code pays et les chiffres de contrôle à la fin, puis contrôle la longueur propre à chaque pays, ce que cet outil ne fait pas. Vous obtenez l'étape MOD 97-10 commune.
Comment les lettres sont-elles prises en compte ?
Chaque lettre est remplacée par un nombre à deux chiffres avant le calcul, A valant dix et Z trente-cinq ; majuscules et minuscules sont traitées pareil. Le code entier est ensuite lu comme un grand nombre en base dix.
Outils associés
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/enc/mod97 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456"}'const res = await fetch("https://api.kit.forhosting.com/enc/mod97", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mod97",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mod97", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mod97", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "123456"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mod97",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
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 secrets stockés.
Ce qu'est ISO 7064 MOD 97-10 et pourquoi deux chiffres comptent
Cet outil met en œuvre ce parcours standard avec réduction itérative du reste afin que les longs codes ne débordent jamais les nombres JavaScript, et étiquette toujours l'algorithme comme iso7064_mod97_10 pour que les systèmes en aval enregistrent quel schéma a protégé la valeur.
Comment calculer des chiffres de contrôle ou valider un code complet
Les espaces, tirets, signes de ponctuation et autres symboles sont rejetés comme entrée non alphanumérique avec invalid_input afin que vous n'acceptiez jamais une valeur silencieusement tronquée. Le mode compute est le mode par défaut : le moteur mappe la charge utile, ajoute deux zéros, réduit modulo quatre-vingt-dix-sept, renvoie check_digits sous forme de chaîne de deux caractères, et renvoie with_check comme la charge utile plus ces chiffres afin que vous puissiez stocker ou imprimer une seule chaîne. La réponse indique valid vrai lorsque l'entier mappé complet est congruent à un modulo quatre-vingt-dix-sept, et inclut toujours les check_digits finaux, les expected_check_digits recalculés à partir de la charge utile seule, et la sous-chaîne de charge utile sans les deux derniers caractères. Comme le chemin est une analyse pure 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.
Cas d'intégration
Émettre des codes de compte ou de référence protégés
Générez une charge alphanumérique, appelez le mode compute et stockez with_check afin que chaque nouveau code porte des chiffres finaux ISO 7064 mod 97-10 avant d'être imprimé ou envoyé par e-mail.
Valider des codes saisis ou scannés à l'entrée
Lorsqu'un utilisateur ou un scanner soumet un code complet, appelez le mode validate et bloquez la recherche lorsque valid est faux, en affichant expected_check_digits pour aider à corriger une faute de frappe.
Questions techniques
Comment calculer des chiffres de contrôle mod 97-10 avec cette API ?
Envoyez un POST avec text égal à la charge utile (A-Z, 0-9) et mode compute (ou omettez mode). La réponse inclut check_digits et with_check (charge utile plus les deux chiffres).
Comment valider un code qui a déjà des chiffres de contrôle ?
Envoyez un POST avec la chaîne alphanumérique complète et mode validate. La réponse inclut valid, check_digits, expected_check_digits et payload sans les deux derniers caractères.
L'outil de chiffres de contrôle mod 97-10 est-il gratuit ?
L'outil navigateur est gratuit et s'exécute localement. Les appels API utilisent le solde KIT prépayé au prix de base publié $0.002 ; une entrée invalide n'est jamais facturée.