QNA > C > Come Ottenere Il Numero Completo Della Carta Di Credito Utilizzando Le Ultime Quattro Cifre

Come ottenere il numero completo della carta di credito utilizzando le ultime quattro cifre

Non è possibile. L'ultima cifra di un numero di carta di credito è una cifra di controllo che dipende dai valori dei 15 numeri precedenti in quell'ordine specifico, è impossibile estrapolare le dodici cifre precedenti dalle ultime quattro.

Ecco come una pagina web può sapere se avete inserito un numero di carta di credito errato prima di provare a trasmetterlo al server. Lo script lato browser può convalidarlo prima. Esegue lo stesso algoritmo di convalida e confronta il risultato atteso con l'ultima cifra. Il solito errore è che l'utente ha inavvertitamente scambiato due delle cifre, nel qual caso l'ultima cifra della carta sarà ora 'sbagliata', e la pagina evidenzierà il numero della carta di credito come non valido.

Se i caratteri della carta di credito sono in un array char[16], txtchr allora il seguente codice C# lo convaliderà.

  1. int chksum = 0; 
  2.  
  3. for (int i = 0; i < 16; i++) 
  4. chksum += ((i % 2) == 1) ? txtchr[i] - '0' : ((txtchr[i] - '0') * 2) / 10 + ((txtchr[i] - '0') * 2) % 10; 

If chksum is divisible by 10:

  1. if(chksum % 10 == 0) 

then the card number is valid.

Detto questo, è valido solo come numero di carta a sé stante. Deve quindi essere convalidato rispetto ai dati dell'emittente (contenuti nelle prime sei cifre); anche il nome esatto, la data di scadenza e il numero CVV devono essere corretti.

Di Paddy

Ex utenti iPhone, qual è stato alla fine il fattore decisivo che vi ha fatto passare ad Android? Siete una persona più felice per questo? :: Qual è la differenza tra "scaricare" e "installare"?
Link utili