Skip to main content

L'algoritmo di Luhn


L'algoritmo di Luhn, noto anche come "formula di Luhn" o "modulo 10", è un semplice algoritmo di checksum ideato nel 1954 da Hans Peter Luhn, un informatico IBM. Il suo scopo originale era quello di proteggere i numeri identificativi da errori accidentali di digitazione, e oggi è ampiamente utilizzato per validare numeri di carte di credito, codici IMEI, numeri di previdenza sociale e altri identificatori numerici.


Come funziona

L'algoritmo opera su una sequenza di cifre e produce un valore di controllo che permette di verificare se il numero è potenzialmente valido. I passi sono i seguenti:

  1. Partire dall'ultima cifra (cifra di controllo) e procedere verso sinistra.
  2. Raddoppiare il valore di ogni seconda cifra a partire dalla penultima (cioè le cifre in posizione pari contando da destra).
  3. Se il risultato del raddoppio è maggiore di 9, sottrarre 9 (equivalente a sommare le due cifre del risultato).
  4. Sommare tutte le cifre ottenute, incluse quelle non raddoppiate.
  5. Se il totale è divisibile per 10 (cioè il modulo è 0), il numero è valido secondo l'algoritmo.