Algoritmo di base

Uno degli algoritmi di convalida dei numeri ID è l'algoritmo di luhn

È anche conosciuto come “algoritmo modulo 10”, è una formula di checksum, è usato per convalidare una diversità di numeri ID.
L’algoritmo procede in tre passi.
Nel primo passo, ogni secondo numero, a partire dal secondo da destra verso sinistra, viene raddoppiato. Se il risultato è maggiore di 9, si forma la somma tra le due cifre (per esempio 10 = 1 + 0 = 1, 14 = 1 + 4 =7)
Nel secondo passo si sommano tutti i numeri.
Infine, nell’ultimo passo, si divide il risultato per 10. Se il resto è uguale a 0, è la sequenza originale di cifre, che è stata controllata ed è valida.
Ej:
Cifre del numero di conto 7 9 9 2 7 3 9 8 7 1 x
Doppia ogni seguente 7 18 9 4 7 6 9 16 7 2 x
Aggiungi le cifre 7 9 9 4 7 6 9 7 7 7 2 =67
Nota: La “x” nel numero di conto è il numero di controllo, che determina se il numero di conto è valido.
Ma come facciamo a sapere quale numero è il valore “x”
La cifra di controllo (x) può essere ottenuta da (67 * 9 mod 10). In termini semplici:
Calcolare la somma delle cifre 67.
Moltiplicare per 9 e il risultato è 603.
Prendere l’ultima cifra 3.
Il risultato è la cifra di controllo.
Quello che segue è l’algoritmo luhn realizzato in java:
public static static boolean check-digitluhn(int digits){
int sum = 0;
int length = digits.length;
for(int i = 0; i < length; i++) {
///prende le cifre in ordine inverso
int digit = digits;

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *