ForHosting KIT · Strumenti per sviluppatori

Carattere di controllo Luhn mod N

Con l'alfabeto abcdef, la sequenza abcdef riceve il carattere di controllo e, e il codice protetto diventa abcdefe. Luhn mod N applica la regola classica del raddoppio e della somma in base N, per codici fatti di lettere, esadecimale o un set di caratteri proprio. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Testo
abcdef
Alfabeto
abcdef
Ottiene
Modalità di calcolo
Compute
Payload
abcdef
Carattere di controllo
e
Con cifra di controllo
abcdefe

Il Luhn classico funziona solo con le cifre 0–9. Gli identificatori reali spesso mescolano lettere, hex, Base36 o un alfabeto proprietario e richiedono comunque un carattere di controllo finale che individui gli errori di battitura. Luhn mod N associa ogni simbolo del Suo alfabeto a un code point, applica la stessa idea di raddoppio e somma da destra a sinistra in base N e restituisce un carattere di controllo di quello stesso alfabeto.

Cos’è Luhn mod N e come estende il Luhn classico

L’algoritmo originale di Hans Peter Luhn protegge le stringhe di cifre alternando un fattore di raddoppio da destra, ripiegando i valori raddoppiati in una singola cifra, sommando e scegliendo una cifra di controllo affinché il numero completo sia congruente a zero modulo dieci. Quella regola sostiene carte di pagamento, code IMEI e molti identificatori nazionali, ma assume che N valga dieci e che ogni carattere sia una cifra decimale.

Luhn mod N mantiene la stessa struttura e consente a N di essere la dimensione di qualsiasi alfabeto ordinato che Lei definisce: ogni carattere mappa a un code point da zero a N meno uno, il ripiegamento diventa la somma delle cifre in base N del fattore per il code point, e il risultato è rimappato a un carattere di quell’alfabeto. Preferisca un N pari quando contano le garanzie classiche di rilevamento; alfabeti dispari producono ancora un carattere deterministico, ma indeboliscono la copertura di sostituzioni e trasposizioni semplici.

Controllare colonne di identificatori esportati

Convalidi in batch ogni codice di un CSV partner o di un export di magazzino e isoli le righe il cui carattere di controllo non corrisponde più al valore ricalcolato per il Suo alfabeto.

Cos’è un carattere di controllo Luhn mod N?

È un unico carattere finale calcolato con l’algoritmo Luhn generalizzato su un alfabeto di dimensione N, così che gli errori di battitura comuni facciano fallire la convalida della stringa completa.

Cosa succede se text contiene simboli assenti da alphabet?

Le attività di convalida fallite non vengono addebitate.

Lo strumento Luhn mod N è gratuito?

Lo strumento nel browser è gratuito e gira in locale.

Come vengono trasformati i caratteri in numeri?

In base alla posizione nell'alfabeto che lei indica: il primo carattere vale 0, il successivo 1 e così via fino a N meno 1, dove N è la lunghezza dell'alfabeto. Con abcdef, la a vale 0, la f vale 5 e N è 6.

Perché l'alfabeto dovrebbe avere un numero pari di caratteri?

Perché un N pari mantiene la capacità di rilevamento del Luhn classico. Un alfabeto dispari dà comunque un carattere di controllo fisso e ripetibile, ma rileva meno caratteri sbagliati e meno scambi tra vicini.

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.

POSThttps://api.kit.forhosting.com/enc/luhn-mod-n

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/enc/luhn-mod-n \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"abcdef","alphabet":"abcdef"}'
{
  "text": "abcdef",
  "alphabet": "abcdef"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.luhn_mod_n",
  "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.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Questa capacità calcola quel carattere per un payload, oppure convalida una stringa completa che termina già con uno, e fallisce subito se l’ingresso contiene simboli fuori dall’alfabeto così Lei non accetta mai spazzatura in silenzio. La esegua gratis nel browser o chiami l’API KIT al prezzo pubblicato; entrambi i percorsi usano la stessa aritmetica pura, senza rete e senza valori memorizzati.

Cos’è Luhn mod N e come estende il Luhn classico

Rispetto a Damm (solo cifre, tabella di quasigruppo) e alle cifre di codici a barre legate a layout EAN o ISBN, Luhn mod N è adatto quando i Suoi codici sono già alfanumerici e desidera uno schema condiviso di emissione e convalida. La risposta nomina sempre l’algoritmo luhn_mod_n così log e contratti con i partner registrano quale schema ha protetto il valore.

Come calcolare un carattere di controllo o convalidare una stringa completa

Testo vuoto, alfabeto assente, alfabeti con meno di due caratteri distinti e valori di mode sconosciuti falliscono prima di qualsiasi aritmetica e non vengono addebitati. Fornisca text come payload senza carattere di controllo per la modalità compute (predefinita), e alphabet come insieme ordinato di simboli validi. Il motore associa ogni carattere distinto dell’alfabeto a code point successivi, scorre il payload da destra a sinistra e restituisce check_character più with_check (payload più quel carattere). La modalità validate si aspetta una stringa completa di almeno due caratteri; la risposta riporta valid, il check_character finale, expected_check_character ricalcolato dal prefisso e la sottostringa payload senza l’ultimo carattere così le interfacce mostrano una correzione chiara. Ogni simbolo in text deve comparire in alphabet: se un carattere è fuori, la chiamata fallisce con invalid_input e il messaggio elenca quei simboli affinché Lei corregga l’alfabeto o rimuova il rumore prima di riprovare. Poiché il percorso è parse puro senza orologio, casualità o rete, lo stesso ingresso produce sempre lo stesso JSON sullo strumento gratuito del browser e sull’API. A $0.002 per richiesta riuscita può proteggere import massivi, stampanti di etichette e moduli di onboarding senza un piano personalizzato. Usi le cifre 0123456789 per riprodurre la generazione stile Luhn mod-10 su payload solo numerici; usi 0-9A-Z per codici prodotto stile Base36; usi un insieme interno quando l’inventario vieta già glifi ambigui come O e 0.

Dove i caratteri di controllo Luhn generalizzati si inseriscono nei sistemi reali

Le etichette di magazzino e di asset spesso mescolano lettere e cifre per la lettura ad alta voce; aggiungere un carattere Luhn mod N intercetta scambi adiacenti e sostituzioni semplici prima che una scansione manuale crei la spedizione sbagliata. Chiavi di licenza e codici coupon che già escludono caratteri confusi necessitano ancora di una cifra di integrità economica che i partner reimplementino senza un segreto condiviso; pubblicare l’alfabeto e questo algoritmo basta. Non tratti un controllo superato come prova di autorizzazione o proprietà: dimostra solo che la stringa è ben formata sotto Luhn mod N per quell’alfabeto, lo stesso criterio di onestà di qualsiasi checksum. Programmi di membership e fedeltà che hanno superato gli ID solo numerici possono conservare un’unica via di emissione: generare un payload sequenziale o casuale nell’alfabeto di casa, chiamare compute, memorizzare with_check e convalidare su ogni modulo e file partner. I job di qualità dati ricalcolano expected_check_character per ogni riga di un export e isolano le discrepanze, individuando sia modifiche umane sia bug dei generatori.

Emettere codici alfanumerici di prodotto o asset

Generi un payload nel Suo alfabeto di casa, chiami la modalità compute e memorizzi o stampi with_check così ogni nuovo codice porta un carattere finale Luhn mod N.

Convalidare codici digitati o scansionati in ingresso

Quando un utente o uno scanner invia una stringa completa, chiami la modalità validate e blocchi la ricerca se valid è false, mostrando expected_check_character per correggere un solo errore di battitura.

Come calcolo un carattere di controllo con questa API?

Invii un POST con text uguale al payload, alphabet uguale al Suo insieme ordinato di caratteri e mode compute (oppure ometta mode). La risposta include check_character e with_check.

Come convalidare una stringa che ha già un carattere di controllo?

Invii un POST con la stringa completa, lo stesso alphabet e mode validate. La risposta include valid, check_character, expected_check_character e payload senza l’ultimo carattere.

Leggi la documentazione completa del KIT →