domingo, 9 de enero de 2011

Y el número de la tarjeta de crédito??????...


Ya vimos unos post más atras, como se encuentra el dígito verificador del RUN (click aquí para revisar), el cual utiliza un simple algoritmo matemático para encontrarlo. Hoy veremos como se designa el número de una tarjeta de crédito.
Primero, consíguete una tarjeta de crédito de cualquier multitienda o banco. Notarás que tienen 16 dígitos agrupados de a cuatro (sólo por una cuestión práctica, no es que cada grupo represente algo diferente, pero ya lo veremos con más detalle).

Como ejemplo utilizaremos la siguiente tarjeta ficticia:El significados de los números es el siguiente:

1. Los primeros cuatro (1234 en nuestro ejemplo) son los de la entidad monetaria que ofrece el crédito.
2. El siguiente dígito (5) indica el tipo de tarjeta y la entidad que lo entrega (VISA, Mastercard, etc)
3. Los siguientes 10 dígitos (6781234567) es el número de identificación del cliente.
4. El último dígito (8) es un dígito de control y permite identificar tarjetas falsas de las que no lo son.

Para calcular este último dígito se utiliza un algoritmo matemático llamado algoritmo de luhn y se encuentra del siguiente modo.

a. Considera los primeros 15 números de la trajeta y ubícalos de izquierda a derecha.

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7

b. Multiplica los números ubicados en lugares impares. Si el número es menor que 10 se conserva, si es mayor, se suman sus dígitos hasta obtener un número menor que 10.

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7
2 6 1 5 2 6 1 5

Fíjate que, por ejemplo, 7x2=14, que es mayor que 10, por lo tanto se suma 1 + 4 = 5, que es el número que se deja.

c. Suma estos resultados, llamémosle A (A = 28 en nuestro ejemplo)

d. Suma ahora los números ubicados en posiciones pares (ojo con no considerar el último dígito) y llamémosle B a esta suma (B= 2+4+6+8+2+4+6=32)

e. Sumemos ahora A con B, y restémosle 10 cosecutivamente hasta obtener un número entre 1 y 10. Llamemos C a éste número.

f. Luego restamos C a 10 y obtenemos el dígito de control (que en nuestro caso debería ser 0 ya que 28 + 32= 60 y 60 -10 = 50, 50-10=40, 40-10=30, 30-10 = 20, 20 - 10 =10 y al aplicar 10-C=0)

Vemos que en nuestro ejemplo, el número de control de la tarjeta es erróneo lo que la hace inválida. Pero te aseguro que si lo intentas con una trajeta real el dígito verificador corresponderá.

Éxito y abrazos.

No hay comentarios:

Publicar un comentario