Cifre di controllo ISO 7064 mod 97-10
Per 123456 le cifre di controllo ISO 7064 MOD 97-10 sono 76, e il codice diventa 12345676: la stessa regola a due cifre che protegge l'IBAN, applicata a qualsiasi codice di lettere e cifre. La convalida verifica un codice che le contiene già. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- 123456
- Modalità di calcolo
- Compute
- Input
- 123456
- Cifre di controllo
- 76
- Con cifra di controllo
- 12345676
Riferimenti di conto lunghi, identificativi di pagamento e codici di magazzino sono facili da digitare male, e un solo carattere errato può inviare denaro o merce nel posto sbagliato. Il sistema di cifre di controllo ISO 7064 MOD 97-10 aggiunge due cifre decimali in modo che quasi ogni errore di un carattere e molte trasposizioni spezzino la somma di controllo. Le lettere sono mappate da A uguale a dieci fino a Z uguale a trentacinque prima dell'aritmetica modulare, in linea con l'insieme ibrido usato dagli schemi di tipo IBAN e da altri codici MOD 97-10.
Cos'è ISO 7064 MOD 97-10 e perché contano due cifre
Le cifre di controllo esistono perché persone, tastiere, OCR e la copia a mano introducono danni prevedibili: un carattere sbagliato, due simboli vicini scambiati, oppure una cifra omessa o inserita. ISO 7064 definisce diversi sistemi di controllo modulari; MOD 97-10 è il sistema puro (e ibrido alfanumerico) che produce due caratteri di controllo dall'alfabeto delle cifre da zero a nove.
In pratica Lei mappa le lettere da A a Z sui valori a due cifre da dieci a trentacinque, tratta l'intera stringa come un intero grande in base dieci dopo quell'espansione e richiede che tale intero sia congruente a uno modulo novantasette quando le due cifre di controllo sono incluse. Per generare le cifre di controllo Lei aggiunge temporaneamente due zeri, prende il resto modulo novantasette e imposta il valore di controllo a novantotto meno quel resto, sempre scritto come due cifre da zero-uno a novantotto.
Quella costruzione è esattamente ciò che i numeri di conto bancario internazionali usano internamente per le due cifre di controllo dopo il codice paese, e la stessa matematica protegge riferimenti legati a SEPA, alcuni identificativi nazionali del creditore e codici interni che hanno scelto MOD 97-10 per la forte distribuzione residuale. Due cifre di controllo danno un modulo di novantasette, un primo, che offre una copertura residuale molto migliore di una singola cifra modulo dieci per i modelli di errore di battitura che le persone commettono davvero.
Rispetto a schemi a una sola cifra come Damm o Luhn, MOD 97-10 è la scelta giusta quando il Suo dominio documenta già ISO 7064 o regole della famiglia IBAN e Lei ha bisogno di due cifre di controllo decimali anziché una.
Come calcolare le cifre di controllo o convalidare un codice completo
Invii un campo text che contenga solo caratteri da A a Z e cifre da zero a nove. La distinzione tra maiuscole e minuscole è ignorata; il motore converte in maiuscolo prima della mappatura. La coppia finale deve essere di cifre decimali; se sono lettere la richiesta fallisce prima di qualsiasi percorso modulare.
Quella forma rende facile mostrare «Lei ha digitato X, si attendeva Y» in un modulo senza una seconda chiamata. Stringhe vuote, text mancante e valori di mode non validi falliscono prima di qualsiasi aritmetica e non vengono fatturati. Preferisca compute quando crea nuovi codici; preferisca validate quando riceve un codice da un utente, da un file partner o da un'etichetta scansionata e ha bisogno di un cancello booleano prima di cercare il record.
Si noti che la convalida IBAN completa riordina anche paese e posizioni di controllo e applica tabelle di lunghezza per paese; questa capacità è il nucleo condiviso MOD 97-10, non un verificatore completo del formato IBAN per paese.
Dove le cifre di controllo MOD 97-10 si inseriscono nei sistemi reali
I team di tesoreria e pagamenti che costruiscono riferimenti di pagamento interni accanto ai campi IBAN hanno bisogno della stessa regola di controllo a due cifre senza tirare una libreria bancaria completa. I programmi di membership e fedeltà generano ID alfanumerici e vogliono una coppia finale che gli agenti del call center e le tastiere mobili non corrompano in silenzio.
I team di magazzino e logistica stampano codici di cartone o di asset; la trasposizione di due cifre sul percorso di un dispositivo portatile è comune, e un modulo di novantasette cattura molti più di quegli errori di una singola cifra modulo dieci. Gli uffici sanitari e scolastici che ancora muovono moduli cartacei con numeri di riferimento multi-carattere possono convalidare all'ingresso e mostrare una correzione immediata invece di creare una cartella o un'iscrizione duplicata.
I test di integrazione e i lavori di qualità dei dati ricalcolano le cifre di controllo attese per ogni riga di un export CSV e segnalano le righe il cui codice completo memorizzato non corrisponde più, catturando sia le modifiche umane sia i bug di scostamento di uno nei generatori. I team di prodotto che già usano Luhn per campi simili a carte possono comunque adottare MOD 97-10 per identificativi interni dove lo standard del dominio o il contratto del partner specifica già ISO 7064.
Non tratti un controllo MOD 97-10 superato come prova di autorizzazione, proprietà o del fatto che una stringa sia un vero conto bancario in un dato paese — dimostra solo che la stringa di caratteri è ben formata sotto questo algoritmo, lo stesso criterio di onestà che Lei applica a qualsiasi checksum.
Casi d'uso
Controllare colonne di codici esportate
Convalidi in batch ogni riferimento alfanumerico in un CSV partner o in un export di magazzino e metta in quarantena le righe le cui cifre di controllo non corrispondono più al valore atteso ricalcolato.
Domande frequenti
Cos'è la cifra di controllo ISO 7064 mod 97-10?
È un controllo decimale a due cifre calcolato con modulo 97 in modo che quasi ogni errore di un carattere in un codice alfanumerico faccia fallire la convalida della stringa completa.
Cosa succede con spazi, trattini o altri simboli?
Fornisca solo A-Z e 0-9; le attività di convalida non riuscite non vengono fatturate.
Lo strumento di cifre di controllo mod 97-10 è gratuito?
Lo strumento del browser è gratuito e gira in locale.
Come si calcolano le due cifre di controllo?
Si aggiungono due zeri in fondo al codice, si prende il resto della divisione per novantasette e il controllo è novantotto meno quel resto, scritto sempre con due cifre. Per 123456 risulta 76.
Posso usarlo per convalidare un IBAN intero?
Solo il suo nucleo di calcolo. La verifica completa di un IBAN sposta anche il codice paese e le cifre di controllo in fondo e controlla la lunghezza di ogni paese, cosa che questo strumento non fa. Qui ottiene il passaggio MOD 97-10 comune.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"text": "123456"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mod97",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Questa capacità calcola quelle due cifre per un payload alfanumerico che Lei già possiede, oppure convalida una stringa completa che le include già, e rifiuta l'input non alfanumerico con un errore chiaro invece di eliminare silenziosamente i rifiuti. La esegua gratis nel browser oppure chiami l'API KIT al prezzo pubblicato; entrambi i percorsi usano la stessa aritmetica pura, senza rete e senza segreti memorizzati.
Cos'è ISO 7064 MOD 97-10 e perché contano due cifre
Questo strumento implementa quel percorso standard con riduzione iterativa del resto così che i codici lunghi non superino mai i limiti dei numeri JavaScript, e etichetta sempre l'algoritmo come iso7064_mod97_10 affinché i sistemi a valle registrino quale schema ha protetto il valore.
Come calcolare le cifre di controllo o convalidare un codice completo
Spazi, trattini, punteggiatura e altri simboli sono rifiutati come input non alfanumerico con invalid_input, così Lei non accetta mai un valore silenziosamente troncato. La modalità compute è quella predefinita: il motore mappa il payload, aggiunge due zeri, riduce modulo novantasette, restituisce check_digits come stringa di due caratteri e restituisce with_check come payload più quelle cifre, così Lei può memorizzare o stampare una sola stringa. La modalità validate si aspetta una stringa completa di almeno tre caratteri (uno o più caratteri di payload più le due cifre di controllo finali). La risposta riporta valid vero quando l'intero mappato completo è congruente a uno modulo novantasette, e include sempre i check_digits finali, gli expected_check_digits ricalcolati dal solo payload e la sottostringa del payload senza gli ultimi due caratteri. Poiché il percorso è un'analisi pura senza orologio, sorgente casuale o rete, lo stesso input produce sempre lo stesso JSON sullo strumento gratuito del browser e sull'API. A $0.002 per richiesta riuscita Lei può proteggere importazioni massive, moduli di onboarding e stampanti di etichette a lotti senza negoziare un livello su misura.
Casi di integrazione
Generare codici di conto o di riferimento protetti
Generi un payload alfanumerico, chiami la modalità compute e memorizzi with_check affinché ogni nuovo codice porti cifre finali ISO 7064 mod 97-10 prima di essere stampato o inviato via e-mail.
Convalidare codici digitati o scansionati all'ingresso
Quando un utente o uno scanner invia un codice completo, chiami la modalità validate e blocchi la ricerca quando valid è falso, mostrando expected_check_digits per aiutare a correggere un errore di battitura.
Domande tecniche
Come calcolo le cifre di controllo mod 97-10 con questa API?
Invii un POST con text impostato sul payload (A-Z, 0-9) e mode compute (oppure ometta mode). La risposta include check_digits e with_check (payload più le due cifre).
Come convalidare un codice che ha già le cifre di controllo?
Invii un POST con la stringa alfanumerica completa e mode validate. La risposta include valid, check_digits, expected_check_digits e payload senza gli ultimi due caratteri.