Para entender mejor el metodo usaremos el numero correcto (pero ficticio) 4013 2002 0977 4812, al que me referir‚ a lo largo de todo el texto.
Para comprobar si una tarjeta de credito es valida, usaremos este sencillo
algoritmo:
* Los cuatro primeros numeros indican el banco al cual pertenece la tarjeta.
+ En nuestro ejemplo: Pertenece al banco 4013 (Bank of Baltimore).
* El primer numero identifica a la tarjeta:
si es un 3 la tarjeta es American Express
si es un 4 la tarjeta es Visa
si es un 5 la tarjeta es MasterCard
si es un 6 la tarjeta es Discover
+ En nuestro ejemplo: 4, tarjeta Visa.
* Ahora nos centraremos en todos los n£meros que ocupan una posicion impar en el numero de la tarjeta:
+ En nuestro ejemplo: 4013 2002 0977 4812
^ ^ ^ ^ ^ ^ ^ ^
* Procederemos de la manera siguiente:
* A cada uno de estos n£meros se le multiplica por dos
* Si el n£mero resultante es menor que nueve, se deja tal cual
* En caso contrario, se le resta nueve
+ En nuestro ejemplo:
4 * 2 = 8, como es menor que nueve, lo apuntamos y seguimos
0, ocupa posicion par, por lo que continuamos
1 * 2 = 2, <9, se apunta y sigue
3, posici¢n par
2 * 2 = 4, se apunta
0, pos. par
0 * 2 = 0, seguimos
2, pos. par
0 * 2 = 0, seguimos
9, pos. par
7 * 2 = 14, mayor que nueve. Se restan 9: 14 - 9 = 5, se apunta
7, pos. par
4 * 2 = 8
8, pos. par
1 * 2 = 2
2, pos. par
Con lo que obtenemos 8023 4002 0957 8822
* Se suman entre s¡ todas las cifras del nuevo numero obtenido.
+ En nuestro ejemplo:
8+0+2+3+4+0+0+2+0+9+5+7+8+8+2+2 = 60
* Y ya esta! Si el numero resultante es m£ltiplo de 10 (X Mod 10=0) y a la vez menor o igual a 150, es un numero de tarjeta v lido.
+ En nuestro ejemplo: 60 Mod 10 = 0 & 60 < 150,
con lo que 4013 2002 0977 4812 es un n£mero de Visa v lido, perteneciente al Bank of Baltimore (Cod. 4013).
Una vez conocida esta informacion, unos minimos conocimientos de algun lenguaje de programaci¢n nos servir n para crear un programa que valide
tarjetas de credito, o que genere numeros va lidos, haciendo que estos cumplan el algoritmo arriba indicado.
De todas maneras, si no consigues realizar el programa, estar‚ encantado de enviarte por e-mail los fuentes de uno programado por mi.
GALAHAD, 1996
Miembro de Legi¢n Oscura
rafael@selene.siscom.es