Formula di Luhn
Da Wikipedia, l'enciclopedia libera.
Realizzata nel 1960 da un gruppo di matematici, la formula di Luhn, anche conosciuta come Modulo 10, è un semplice algoritmo che consente di generare e verificare la validità di vari numeri identificativi, come quelli delle carte di credito.
Ogni carta di credito ha un suo numero di carta (es. 0000-1234-5678-9123) dove la prima parte identifica il circuito internazionale (Visa, American Express, Mastercard...) mentre il resto la banca emittente ed il cliente.
La formula di Luhn si basa su tre semplici passaggi:
- Partendo da destra e spostandosi verso sinistra, moltiplicare per 2 ogni cifra posta in posizione pari
- Laddove la moltiplicazione ha dato un risultato a due cifre, sommare le due cifre per ottenerne una sola (es. 18 = 1+8)
- Sommare tutte le cifre, sia quelle che si trovano in posizione pari, sia quelle che si trovano in posizione dispari
Se la somma complessiva è divisibile per 10 (la divisione non ha resto) la carta è valida.
Ad esempio, supponendo di avere il seguente numero di carta: 2323-2005-7766-3554
Somma 4+3+4+3+4+0+0+5+5+7+3+6+6+5+1+4=60
60 /10 = carta valida
La formula di Luhn viene utilizzata in Canada dal Social Insurance Number per l’identificazione dei suoi clienti; tuttavia con la seguente formula non verifica ulteriori informazioni, come il numero delle cifre e la validità della data di scadenza. Del resto la formula è stata studiata per rilevare errori di digitazione, non è adatta a rilevare falsificazioni volontarie.

