jueves, 24 de febrero de 2011

¿Cómo se valida una una tarjeta de crédito?

La numeración de una tarjeta de crédito consta de de 16 cifras agrupadas en grupos de 4, y como ya os habréis dado cuenta es bastante fácil cometer un error a la hora de introducir los datos cuando, por ejemplo, compramos un billete por Internet. Para prevenir dichas erratas, la secuencia numérica incluye un conocido algoritmo de control de errores llamado Algoritmo Luhn-10. Este método se usa habitualmente por compañías y organizaciones al expedir números de cuenta y de filiación. El algoritmo está especificado en el standard ISO-7812 que define el formato para las tarjetas de crédito.


Los algoritmos de control de errores se diseñan normalmente para aplicaciones donde se espera que ocurran ciertos errores de forma recurrente. En este caso, el error más común sería aquél que el ser humano comete cuando teclea la secuencia en una web, ya sea al introducir un único dígito de forma incorrecta, o al intercambiar dos dígitos adyacentes. Es el último dígito de la secuencia, el que proporciona la capacidad de detección de errores, y se computa una vez que la secuencia completa se ha introducido de modo que se pueda comprobar su fiabilidad siempre que éste se transcriba o transmita.

Comprobación Módulo 10

El método consiste en sumar los 15 primeros dígitos de la secuencia. El último dígito, o dígito de comprobación, se calcula como el resto de dividir la suma de los dígitos anteriores entre 10. Usando el ejemplo de la imagen de arriba tendríamos que:

$$4+0+0+0+0+0+1+2+3+4+5+6+7+8+9 = 49$$

y por tanto último dígito debería ser

$$49 \mod 10 = 9$$

Este sencillo esquema detecta cualquier dígito que de forma individual estuviera incorrectamente escrito, sin embargo, no es capaz de distinguir qué dos dígitos consecutivos se intercambien, de modo que se necesita un método más robusto.

¿Cómo funciona el Algoritmo Luhn-10?

El Algoritmo Luhn-10 se basa en el concepto de módulo 10, pero lo modifica para darle robustez. La idea se basa en hacer una suma ponderada multiplicando dígitos adyacentes por constantes distintas (en este caso 1 o 2) para detectar el intercambio de éstos. Los pasos son los siguientes:
  1. Se multiplican los dígitos impares por 2.
  2. Si del producto resultan dos dígitos, sus cifras se suman para obtener un único término.
  3. Se suman todos los términos pares e impares
La secuencia será correcta si la suma es un múltiplo de 10, es decir, su resto es cero . Siguiendo el ejemplo anterior tendríamos que:


Como 60 es múltiplo de 10, entonces la secuencia es correcta. En caso de que accidentalmente intercambiásemos dos cifras (en naranja) nos daríamos cuenta que hay algún error en la secuencia porque la suma ya no sería múltiplo de 10.


Sin embargo, el Algoritmo de Luhn-10 no es infalible. En caso de que el error se cometa al intercambiar el 0 con el 9, entonces el fallo es indetectable, ya que ambas combinaciones producen el mismo resultado.


Fuente: EE4253 Digital Communications. Department of Electrical and Computer Engineering - University of New Brunswick, Fredericton, NB, Canada

39 comentarios:

Anónimo dijo...

Estimado, muy buena la información. Te hago una consulta, sabés que algoritmo se utiliza para Tarjeta NARANJA (Argentina) porque este no funciona.

Saludos

Anónimo dijo...

jijiji
+

Anónimo dijo...

Tengo el mismo problema con Tarjeta NARANJA (Argentina) en un sistema que se utiliza para venta en concesionarios.

Adolfo dijo...

Tarjeta Naranja tiene su propio algoritmo de validación, no supera el algoritmo de luhn.
Al que lo necesite me escribe.

Adolfo dijo...

aaa.araya@gmail.com

Javier E. Canteros dijo...

Hola yo tmb necesito el de tarjeta naranja zirocool3@gmail.com.ar. gracias

Anónimo dijo...

Adolfo, podrás enviármelo? sgocarrizo@gmail.com ! GRACIAS!

Anónimo dijo...

Hola Adolfo, yo también los necesito por favor. fabio_bucciarelli@hotmail.com. muchas gracias.

Anónimo dijo...

Hola tambien necesito gracias henrrycj74@hotmail.com

Anónimo dijo...

Me lo podrias por favor pasar a juan.ignacio.liska@ayi-asociados.com

Tengo problemas también con las AMEX que comienzan con 3777

Desde ya muchas gracias

Saludos, Juan.-

Anónimo dijo...

Hola, me pasarías por favor el algoritmo para Naranja? (diegogr@hotmail.com) Gracias!

Anónimo dijo...

Estimados, como están?

Sigo teniendo problemas al validar las tarjetas naranjas
Tendrán el algoritmo de validación?

Por favor pasenlo a juan.ignacio.liska@ayi-asociados.com

Anónimo dijo...

Hola ! Me pasarias tambien el algoritmo para naranja ?
semassetti@gmail.com
Gracias !!!

Unknown dijo...

Buenos días, me pasarías por favor el algoritmo para validar tarjeta naranja, Gracias de antemano!!
avido@vanguardtechcorp.com
saludos

Subcmd dijo...

Hola, me enviarias el algoritmo de tarjeta naranja?

Subcmd dijo...

Hola, me enviarias el algoritmo de tarjeta naranja?
subcmd@gmail.com

Luis Alberto Cáceres dijo...

que mierda pasa con el algoritmo de tarjeta naranja? alguien me explica? por que lo pide todo el mundo? jaja posta

Anónimo dijo...

Luis no sigue el algoritmo de Luhn, como otras nacionales
Supongo que se pide naranja al ser la más extendida pero por ejemplo tarjeta FIEL tampoco la válida

Saludos, Juan.-

Anónimo dijo...

me lo envias el algoritmo juan.mandolesi@gmail.com

Unknown dijo...

Hola, ¿Cómo estás? Me podrías enviar el algoritmo para validar una tarjeta de crédito naranja?. Mi email es alejandro@clickypass.com.

Saludos.

Anónimo dijo...

Hola, si alguien me puede colaborar enviándome el algoritmo de la tarjeta naranja se lo agradecería eternamente, mi correo es devligarreto@live.com. Muchas gracias.

Felipe Ovalle dijo...

Hola, podrías enviarme el algoritmo de tarjeta Naranja? te lo agradecería mucho. Mi email es ftovalle@gmail.com. Gracias

Sebastian Fernandez dijo...

me pasas el algoritmo de validacion de naranja por favor? sfernandez@hwapplications.com

Dmacros dijo...

Me pasas el algoritmo por favor dmacros@gmail.com

Miguel dijo...

Hola Adolfo! me podrias pasar el algoritmo de validación para Tarjeta Naranja? muchas gracias desde ya. saviolin@hotmail.com Saludos!

Unknown dijo...

Enviar a saviolin@hotmail.com gracias!

Huanacachesoft dijo...

podrias enviarme el algorimo a evannando@gmail.com

Anónimo dijo...

Necesito el algoritmo de tarjeta naranja si alguien tan amable kastlegames@gmail.com

Unknown dijo...

Buenas tardes, me podran compartir si fueran tan amables el algoritmo para Tarjeta naranja
faguas66@yahoo.com.ar
Muchas gracias

Anónimo dijo...

Hola, la tarjeta naranja válida distinto, tiene si algoritmo propio.
Si lo necesita escríbanme, aaa.araya@gmail.com

Andrés Albertinazzi dijo...

Buenos días. Me facilitarías el algoritmo para Tarjeta Naranja? aalbertinazzi@hotmail.com. Muchas gracias

Unknown dijo...

Buenos días. Me facilitarías el algoritmo de validacion de la Tarjeta Naranja? a mi mail enunez@grupoinmotion.com. Muchas gracias amigo

Anónimo dijo...

Hola me podras pasar el algoritmo para Naranja a javier_persico@hotmail.com?

Tanol84 dijo...

Adolfo, me podrías enviar el algoritma para validar tarjeta Naranja?
Muchas gracias.
aalanzoni@gmail.com

klr dijo...

Hay que ir buscando lo que más nos gusta, por ejemplo el de gratisylegal.com/catalogo-recompensas-banorte-como-aumentar-los-ingresos/nos trae consejos puntuales para aplicar.

Inti dijo...

Hola, espero que despues de tantos años aún respondas estos mails. Podrías enviarme el codigo de Naranja a intikunisscuentas@gmail.com? Gracias

Unknown dijo...

Hola, no se si seguirán chequeando los comentarios de este post, pero si lo hacen, necesito el algoritmo que usa Tarjeta Naranja para validar los números. Mi mail es nmalet12@gmail.com
Muchas gracias

Unknown dijo...

Hola si alguien tiene el algoritmo de tarjeta naranja enviemelo a romy.inthesky@gmail.com

gracias

Andres Marquez dijo...

Hola, yo tuve muchos problemas con el algoritmo de validación, y no me quedó de otra que tener que dar de baja mi tarjeta naranja, me tocará hacer gestiones nuevamente, aunque no sé si se puede sacar otra vez.