Sommario:
Definizione - Cosa significa Formula Luhn?
La formula Luhn è una semplice formula di checksum che viene utilizzata nella convalida di vari numeri di identificazione come numeri di carta di credito, numeri di previdenza sociale, numeri IMEI e molti altri. L'algoritmo convalida il numero rispetto a una cifra di controllo inclusa nel numero stesso, in genere l'ultima cifra. La formula Luhn è ora di dominio pubblico ed è ampiamente utilizzata in vari settori e specificata in ISO / IEC 7812-1.
La formula Luhn è anche nota come algoritmo Luhn, algoritmo modulo 10 o algoritmo mod 10.
Techopedia spiega Luhn Formula
La formula Luhn è stata ideata da Hans Peter Luhn, uno scienziato IBM, che ha depositato un brevetto per la formula nel 1954, concesso nel 1960. La formula non è stata progettata per essere una funzione hash crittograficamente sicura, ma piuttosto come un modo semplice per proteggere da errori accidentali nella creazione di numeri di identificazione univoci. Molte agenzie governative e istituzioni private hanno usato la formula per distinguere i numeri validi da numeri errati, errati o semplicemente fraudolenti.
La formula viene utilizzata per verificare una serie di numeri controllando che una cifra di controllo inclusa sia corretta. Questa cifra di controllo è solitamente allegata al numero parziale per completarlo.
Il seguente processo è la generazione della cifra di controllo:
- A partire dalla cifra più a destra, raddoppia il valore di ogni seconda cifra.
- Se il prodotto risultante dal primo passaggio è superiore a 9, aggiungere le due cifre (ad es. 5 × 3 = 15, 1 + 5 = 6). Se il risultato è 9 o meno, conservare il numero.
- Prendi la somma di tutte le cifre.
- Moltiplica la somma per 9 e prendi il "modulo 10" della somma; il risultato è la cifra di controllo.
Esempio: serie numerica 927638965
9 |
2 |
7 |
6 |
3 |
8 |
9 |
6 |
5 è la cifra di controllo |
9 |
4 |
7 |
12 |
3 |
16 |
9 |
12 |
|
9 |
4 |
7 |
3 |
3 |
7 |
9 |
3 |
somma = 45; 45 × 9 = 405 (mod 10) = 5 |
Per verificare che il numero sia valido, basta seguire l'algoritmo escludendo la cifra di controllo e se si ottiene lo stesso risultato della cifra di controllo, il numero è valido secondo la formula Luhn. Tuttavia, questo algoritmo non è molto affidabile ed è in grado di rilevare principalmente errori a una sola cifra e trasposizioni di numeri adiacenti, tranne la trasposizione della sequenza a due cifre da 09 a 90. Sono in grado di eseguire algoritmi più complicati come l'algoritmo Verhoeff e l'algoritmo Damm per rilevare più errori di trascrizione.
