Está en la página 1de 1

Algoritmo para la validacin de tarjeta de crdito.

para entender mejor el mtodo usaremos el nmero correcto (pero ficticio)4013 2002 0977 4812, al que me referir a lo largo de todo el texto. Para comprobar si una tarjeta de crdito es vlida, usaremos este sencillo algoritmo: * Los cuatro primeros nmeros indican el banco al cual pertenece la tarjeta. En nuestro ejemplo: Pertenece al banco 4013 (Bank of Baltimore). El primer si es si es si es si es nmero identifica a la tarjeta: un 3 la tarjeta es American Express un 4 la tarjeta es Visa un 5 la tarjeta es MasterCard un 6 la tarjeta es Discover

En nuestro ejemplo: 4, tarjeta Visa. Ahora nos centraremos en todos los nmeros que ocupan una posicin impar en el nmero de la tarjeta: Procederemos de la manera siguiente: a cada uno de estos nmeros se le multiplica por dos. Si el nmero 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 posicin par, por lo que continuamos 1 * 2 = 2, <9, se apunta y sigue 3, posicin par 2 * 2 = 4, se apunta 0, posicin par 0 * 2 = 0, seguimos 2, posicin par 0 * 2 = 0, seguimos 9, posicin. par 7 * 2 = 14, mayor que nueve. Se restan 9: 14 - 9 = 5, se apunta 7, posicin par 4 * 2 = 8 8, posicin. par 1 * 2 = 2 2, posicin par Con lo que obtenemos 8023 4002 0957 8822 Se suman entre s todas las cifras del nuevo nmero 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 nmero resultante es mltiplo de 10 (X Mod 10=0) y a la vez menor o igual a 150, es un nmero de tarjeta vlido. En nuestro ejemplo: 60 Mod 10 = 0 & 60 < 150, con lo que 4013 2002 0977 4812 es un nmero de Visa vlido, perteneciente al Bank of Baltimore (Cod. 4013).

También podría gustarte