¿Qué significan los números de nuestra tarjeta de crédito?
La Navidad está a la vuelta de la esquina. Este período del año que a tanta gente gusta (y tanta gente odia, por qué no decirlo) se caracteriza por las compras poco habituales, por el dinero extra que gasta todo hijo de vecino, ya sea en comida, salidas con los amigos y con la familia, regalos (¿pero de eso no se encargaban…? Mejor lo dejamos ahí), etc.
Y, como en la mayoría de las operaciones relacionadas con dinero, en la actualidad está bastante claro que la tarjeta de crédito es la gran protagonista. Ya sea en persona o por internet, cada día utilizamos ese artilugio que nos permite comprar sin dinero físico en nuestras manos o que nos permite obtener parte de nuestro dinero a través de un cajero (que alguien que conozco denomina darle un pellizco a la pared).
Bien, analicemos ahora nuestra tarjeta. Podemos ver que el número de la misma consta de 16 dígitos separados en grupos de 4. Lo que vamos a hacer en este artículo es explicar qué significan cada uno de esos números y resaltar el papel que las matemáticas tienen en el número de la tarjeta en su conjunto.
Los números de una tarjeta de crédito
Como decíamos, el número de nuestra tarjeta consta de 16 dígitos, como por ejemplo vemos en la tarjeta que aparece en la imagen de la derecha. Están separados en grupos de 4 para poder identificarlo mejor, es decir, no es porque cada grupo de 4 dígitos signifique una cosa, sino que la razón eminentemente práctica. Vamos a tomar como ejemplo el número de la imagen:
El significado de esos 16 números es el siguiente:
- Los cuatro primeros dígitos (
en nuestro caso) son el número de identificación de la entidad que nos proporciona la tarjeta, que es diferente según la entidad a la que corresponde (hasta siendo de la misma entidad, dos tarjetas de distintos continentes pueden tener números distintos).
- El siguiente dígito, (
en la nuestra) indica el tipo de tarjeta y la entidad financiera a la que corresponde (American Express, VISA, …).
- Los diez dígitos posteriores (en nuestro ejemplo,
) son algo así como el número de identificación del usuario al que pertenece la tarjeta, que lo identifican de forma única.
- El dígito final (
en la de la imagen) es un dígito de control.
Y en este último punto es donde entras las matemáticas. El dígito de control se calcula a partir de los dígitos anteriores y sirve para confirmar que el número de la tarjeta es un número válido (seguro que a muchos esto os recuerda al post sobre el ISBN). Tengamos en cuenta que hay muchos lugares donde se pueden introducir números de tarjeta, por lo que es interesante que exista un algoritmo para desechar números de tarjeta falsos.
El algoritmo que se utiliza para calcular el dígito de control de una tarjeta se denomina algoritmo de Luhn, y se debe al informático alemán Hans Peter Luhn. Está basado en la aritmética modular y los pasos a seguir son los siguientes:
- De izquierda a derecha, tomamos las cifras que aparecen en las posiciones impares y las multiplicamos por 2. Si el número obtenido es menor que 10 nos quedamos con él y si es mayor que 10 sumamos las cifras de ese número y nos quedamos con el resultado (esto es, calculamos el valor del resultado módulo 9).
- Sumamos todos los resultados obtenidos en el paso anterior. Digamos que esa suma vale
.
- Sumamos todos los dígitos que aparecen en las posiciones pares del número de la tarjeta (excepto el dígito de control, que es el que no sabemos). Llamemos
a dicha suma.
- Ahora sumamos los dos resultados anteriores. Tomamos el valor de esta suma y vamos restando 10 hasta obtener un número entre 0 y 9 (es decir, calculamos Suma módulo 10). Entonces el dígito de control (DC) es 10 menos ese número obtenido. Expresado matemáticamente:
: entonces
y el resultado sería
. No.
: entonces
y el resultado sería
. No.
: entonces
y el resultado sería
. No.
: entonces
y el resultado sería
. Si.
: entonces
y el resultado sería
. No.
Para saber si un número de tarjeta es falso lo que podemos hacer es añadir el último dígito del número (el supuesto dígito de control) a la suma de los dígitos de las posiciones pares. Si el resultado de A+B no es múltiplo de 10 (es decír, si no es igual a 0 módulo 10) entonces el número de la tarjeta es falso.
Vamos a poner un ejemplo, y para ello utilizaremos que aparece en la imagen anterior:
Colocaremos todos los datos en una tabla y después veremos si la suma final es no es múltiplo de 10:
| Número de tarjeta | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |
| Impares por 2 módulo 9 | 2 | 6 | 1 | 5 | 2 | 6 | 1 | 5 | A=28 | ||||||||
| Dígitos en posición par | 2 | 4 | 6 | 8 | 2 | 4 | 6 | 8 | B=40 | ||||||||
| Suma | 1 | 2 | 6 | 4 | 1 | 6 | 5 | 8 | 1 | 2 | 6 | 4 | 1 | 6 | 5 | 8 | A+B=68 |
Ahora:
Por tanto el número de la tarjeta de la imagen es falso. Podéis probar con vuestras tarjetas de crédito para comprobar que el algoritmo da resultados correctos, esto es, que los números de vuestras tarjetas son totalmente verdaderos..
¿Cómo recuperar un dígito perdido de un número de tarjeta?
Como es evidente, este algoritmo puede echarnos una mano en algún momento. Imaginemos que no recordamos un dígito del número de nuestra tarjeta (o que dudamos entre varios, que no lo tenemos claro), querecordamos todos los demás y que sabemos qué posición ocupa el que se nos ha olvidado. Entonces el algoritmo de Luhn nos ayuda a recuperar ese número.
Tomemos como ejemplo el número
Supongamos que ese es nuestro número de tarjeta, pero que no recordamos qué dígito es el que corresponde a la posición que ocupa . Bien, para calcular cuál es ese dígito simplemente planteamos el algoritmo de Luhn fijándonos en si
ocupa una posición par o una impar y recordando que el resultado final debe ser igual a 0 módulo 10. En nuestro caso nos queda:
Por tanto debe cumplirse que sea un múltiplo de 10. Bueno, no exactamente, ya que hay que recordar que si
es mayor o igual que 10 hay que sumar sus cifras.
Bueno, vamos a ver qué valor tiene . Por un lado, si
, obtenemos que
es un número de una cifra, por lo que nos quedaríamos con su valor. Pero en ese caso tendríamos que
es un número impar, por lo que es imposible que sea igual a 0 módulo 10. Por ello, debe ser
.
Probando ahora con el resto de valores posibles de obtenemos el resultado:
Con esto calculamos el dígito que nos faltaba. Era y el número de nuestra tarjeta quedaría así:
Y ya que hablamos de tarjetas, supongo que ésta es la que debería tener yo, ¿no?

Fuentes:








Trackback | 3 dic, 2010
Bitacoras.com
Trackback | 3 dic, 2010
Tweets that mention ¿Qué significan los números de nuestra tarjeta de crédito? | Gaussianos -- Topsy.com
josejuan | 3 de diciembre de 2010 | 10:28
Vótalo
0
Muy bueno, nunca se me había ocurrido recuperar un dígito perdido.
Por otro lado, es errónea la definición de los dígitos, diferentes tarjetas usan diferentes prefijos, tienen diferentes longitudes, etc…
Argh, ahora no encuentro una buena referencia, pero la tabla que yo uso para verificar el número es:
American Express
Prefijos=”34,37″
Longitudes=”15″
Diners Club Carte Blanche
Prefijos=”300-305″
Longitudes=”14″
Diners Club International
Prefijos=”36″
Longitudes=”14″
Diners Club US Canada
Prefijos=”54,55″
Longitudes=”16″
Discover Card
Prefijos=”6011,622126-622925,644-649,65″
Longitudes=”16″
JCB
Prefijos=”3528-3589″
Longitudes=”16″
Maestro
Prefijos=”5018,5020,5038,6304,6759,6761,6763″
Longitudes=”12-19″
MasterCard
Prefijos=”51-55″
Longitudes=”16″
Solo
Prefijos=”6334,6767″
Longitudes=”16,18,19″
Switch
Prefijos=”4903,4905,4911,4936,564182,633110,6333,6759″
Longitudes=”16,18,19″
Visa
Prefijos=”4″
Longitudes=”13,16″
Visa Electron
Prefijos=”417500,4917,4913,4508,4844″
Longitudes=”16″
(donde una coma separa intervalos y un guión los extremos de un intervalo [cerrado])
gaussianos | 3 de diciembre de 2010 | 13:54
Vótalo
0
josejuan, es posible que la definición de los números no sea igual para todas las tarjetas, yo simplemente tomé la que venía en el libro que aparece en las fuentes, al final del post. De todas maneras, lo importante del artículo es el tema del dígito de control
.
carlos | 3 de diciembre de 2010 | 15:11
Vótalo
0
Porque al multiplicar 1*2=1 en el cuadro?
Número de tarjeta 1 3 5
Impares por 2 módulo 9 1 6 1
Si bien en el segundo numero de tarjeta al multiplicar 1*2=2
3-8-X-9-5-2-1-4-
A=6+7+2x+9+1+2+8
Sera un error o entendí mal lo que se trato hacer al principio?… muy buen articulo
gaussianos | 3 de diciembre de 2010 | 19:52
Vótalo
0
Carlos, no entendiste mal, me he equivocado yo. Lo rectifico ahora mismo. Muchas gracias por el comentario
.
Marcos | 3 de diciembre de 2010 | 21:03
Vótalo
0
No es que el último dígito, es decir, el de control, no se suma para obtener B?
En el ejemplo, entonces daría 60, y el número de la tarjeta sería válido.
gaussianos | 3 de diciembre de 2010 | 22:59
Vótalo
0
Sí, sí entra en la suma. Debe dar un múltiplo de 10 incluyendo el de control.
Rober | 3 de diciembre de 2010 | 23:26
Vótalo
0
Creo que es algo equívoco decir que si el dígito de control no coincide entonces el número de la tarjeta es falso.
Me explico: es una frase totalmente correcta, porque el dígito tiene que coincidir, pero la palabra “falso” es demasiado ambigua y puede dar la impresión de que es un método infalible para evitar falsificaciones, al identificar el lector “falso” con “falsificación”.
Obviamente el dígito no sirve para evitar falsificaciones porque, como bien explicas más abajo, cualquiera lo puede calcular.
Sirve más bien, como su propio nombre indica, para realizar un control e identificar errores de introducción. Pienso que se entendería mejor poniendo “es interesante que exista un algoritmo para desechar números de tarjeta erróneos” en lugar de “… falsos”.
Muchos códigos contienen dígitos de control calculados con este algoritmo o similares: el código ISIN (valores mobiliarios: bonos del estado y cosas así), los 2 dígitos de control del Código de Cuenta Cliente (el número de cuenta del banco) y muchos más con menor o mayor nivel de sofisticación, como los bits de paridad de los CD.
Algo interesante es que, aunque puede evitar ciertos errores, no puede asegurar completamente que el código completo sea correcto (de hecho, no hay método que lo asegure al 100%) No obstante, para que se “cuele” un dato distinto al que pretendíamos introducir, debe cometerse más de un error en los dígitos. Quiero recordar que la razón por la que se multiplican las posiciones pares e impares por factores distintos es para evitar el famoso “baile” de números (poner xxx34xxx cuando tenía que ser xxx43xxx) por ser el error más habitual al introducir datos manualmente.
Perdón por el “tocho” y aprovecho para felicitaros por el blog; no suelo comentar a menudo -aquí los lectores tienen un nivelazo difícil de igualar- pero disfruto mucho con las entradas.
gaussianos | 3 de diciembre de 2010 | 23:35
Vótalo
0
Rober, sí, tienes razón, igual habría sido mejor escribir erróneo en vez de falso, pero te aseguro que el significado que le quería dar a ese falso era eso, erróneo. Buen apunte.
Ah, y te animo a que participes con tus comentarios. Es cierto que por aquí hay muchísimos lectores/comentaristas con un gran nivel, pero eso no tiene por qué significar que no comentes
.
Rober | 3 de diciembre de 2010 | 23:47
Vótalo
0
Se hará lo que se pueda
Miguel Ángel | 4 de diciembre de 2010 | 10:05
Vótalo
0
El quinto dígito, el tipo de tarjeta, ¿cuales son de Visa, Mastercard, etc? Me interesa saber especialmente de Mastercar y 6000.
Trackback | 4 dic, 2010
Que significan los números de nuestra visa? | MARF Informática
Dani | 4 de diciembre de 2010 | 11:21
Vótalo
0
Muy bueno, para que luego digan que las matemáticas no son divertidas…
Saludos
Mr.Paco | 4 de diciembre de 2010 | 12:35
Vótalo
0
Tenia entendido que el “BIN = Bank Identification Number” son los 6 primeros digitos de la tarjeta y que es el primer digito y no el quinto el que sirve para identificar el tipo de tarjeta
Asi, todas las VISA empiezan por 4 y todas las Mastercard por 5.
¿Porque 6 digitos para el banco? porque con 4 digitos, reservando el primero para el tipo de tarjeta, solo tienes 3 digitos -> 1000 entidades bancarias en todo el mundo, solo en España tenemos un par de cientos entre cajas de ahorros, bancos, cooperativas de credito y otros establecimientos, hacen falta mas y 6 es el numero elegido.
josejuan | 4 de diciembre de 2010 | 14:18
Vótalo
0
Los 6 primeros dígitos son el IIN, que se establece mediante el ISO/IEC 7812.
Así, en general, no existe un dígito que diga que tipo de tarjeta es.
Por ejemplo, si nos fijamos en la tabla de prefijos se ve que muchos tipos de tarjeta comparten grupos de de dígitos (y no sólo el primero).
Mota | 6 de diciembre de 2010 | 18:58
Vótalo
0
Los dígitos de control son un tema muy interesante del mundo de las matemáticas que, además, está presente en muchos sitios, como nuestros DNI y otros documentos de similar relevancia con códigos “susceptibles” de ser copiados.
Anónimo | 7 de diciembre de 2010 | 14:19
Vótalo
0
Una vez más un artículo que da gusto leer, lástima que otros medios no consigan difundir estas curiosidades. Como podéis comprobar el algoritmo que se detalla en el siguiente enlace es incorrecto, pese a que citan Gaussianos como fuente.
http://www.abc.es/20101207/medios-redes/tarjetas-curiosidades-201012071003.html
gaussianos | 7 de diciembre de 2010 | 21:40
Vótalo
0
Vaya, me citan en un artículo de un periódico de tirada nacional y se equivocan al escribir el algoritmo de cálculo
.
Bueno, no pasa nada, un error lo puede tener cualquiera. Ya ha rectificado el artículo eliminando el proceso de cálculo que describieron.
Por cierto, he estado de viaje y no he podido leer lo que pusieron en el artículo inicial. ¿Por casualidad alguien hizo alguna captura de pantalla del mismo? Si es así que lo comente por aquí.
Mario B | 9 de diciembre de 2010 | 05:14
Vótalo
0
(A + B MOD 10) es diferente de (A + B) MOD 10
Osukaru | 20 de diciembre de 2010 | 00:42
Vótalo
0
Es interesante y práctico esto del significado de los números y los dígitos de control. En mi boda me regalaron un frasco con 2 kilos de lentejas en las que iban inscritos unos números de cuenta que tenía que encontrar para que me dieran el dinero. No los encontré todos, ni ganas que tenía, porque gracias a saber que los 4 primeros pertenecen a la entidad bancaria y los 4 siguientes a la oficina, pude intuir los números que me faltaban en esas 8 posiciones, y después, gracias al algortimo de cálculo de los 2 digitos de control siguientes, pude deducir el otro número que me faltaba. Para que luego digan que este tipo de curiosidades matemáticas no sirven de nada…
Rafalillo | 22 de diciembre de 2010 | 12:36
Vótalo
0
Buenas!
De nuevo, he decidido enalzar uno de tus posts, éste concretamente, en la entrada que acabo de publicar en mi blog:
http://elmundoderafalillo.blogspot.com/2010/12/no-es-mio-pero-es-interesante-xxiii.html
Espero que te guste
Felices fiestas!
Trackback | 27 ene, 2011
Hans Peter Luhn @ Blog del Departamento de Informática UCAM
anonymous | 31 de julio de 2011 | 00:11
Vótalo
0
Muy bueno josejuan!
=)
Luis | 17 de agosto de 2011 | 20:14
Vótalo
0
Muy buena la explicacion solo que tengo una duda??
Existe alguna forma de saber con el numero de tarjeta si pertenece a una tarjeta de credito o a una tarjeta de debito??
Saludos
Luis
gaussianos | 17 de agosto de 2011 | 21:24
Vótalo
0
Luis, yo al menos no sé si hay alguna manera de distinguirlas con el número.
josejuan | 18 de agosto de 2011 | 09:01
Vótalo
0
“Existe alguna forma de saber con el numero de tarjeta si pertenece a una tarjeta de credito o a una tarjeta de debito?”
Pues depende (ver Listado de prefijos).
Por definición, las tarjetas Maestro son de débito, por lo que si alguien te dice que la pases por la “bacaladera” te intenta engañar.
Al otro extremo tenemos otras como Visa que por definición son de crédito. Y, en principio, siempre podrías pasar por la “bacaladera”.
Y en medio están aquellas que, por definición pueden ser las dos cosas (como MasterCard) por lo que, para pasarla por la “bacaladera”, te tendrás que fiar de lo que en ella salga.
Insisto con lo de “bacaladera”, porque creo que es la única ocasión (legal) en la que necesitas saber si es de crédito o de débito (al no tener conexión con el sistema validador, habitualmente un TPV). Que yo sepa, únicamente puedes cobrar a crédito offline (sin conexión TPV o similar) pasando físicamente la tarjeta por la “bacaladera” y por supuesto, el cliente debe firme tu original.
Por último, yo supongo que una vez que una entidad tiene asignado un rango de números, puede usar éstos como mejor le convenga. ¿Podría ser que (por ejemplo) MasterCard codificara dentro de su rango las que son de crédito y débito? podría, no lo se.
En cualquier caso, ante la duda, siempre llamaría a la entidad para que me validara el crédito de la tarjeta (si tampoco tienes conexión telefónica, cruza los dedos…).
Ahora que caigo, menudo off-topic ¿no?.
Oxkar | 10 de diciembre de 2011 | 18:21
Vótalo
0
Ola a todos
me pueden decir como se llama el numero de esta tarjeta:4716782355845421
Es visa pero no se el nombre verdadero de la Tarjeta;por ejemplo Visa electron; respondame este mensaje xfavor
jurado | 21 de diciembre de 2011 | 22:12
Vótalo
0
Hola, tengo una duda, ¿cuando una tarjeta caduca y te mandan la nueva, mantienes la misma numeracion? un saludo.
gaussianos | 21 de diciembre de 2011 | 22:35
Vótalo
0
Creo que sí. Al menos en mi caso ha ocurrido así.
jurado | 22 de diciembre de 2011 | 13:08
Vótalo
0
Muchisimas gracias!!! y otra pregunta, el codigo de seguridad cambia?supongo que si…
gaussianos | 22 de diciembre de 2011 | 20:18
Vótalo
0
Sí, en mi caso ha cambiado
jurado | 22 de diciembre de 2011 | 22:56
Vótalo
0
y hay alguna manera de averiguarlos utilizando la numeracion de la tarjeta mediante alguna formula?
un saludo y otra vez muchisimas gracias
gaussianos | 23 de diciembre de 2011 | 04:00
Vótalo
0
Que yo sepa no.
DIEGO | 4 de marzo de 2012 | 03:15
Vótalo
0
yo lo utilize y me funciono con una visa debito, luego use otra visa y no, y en otra tampoco, y en una amex tampoco creo que no es muy fiable no lo se Salu2
Trackback | 21 mar, 2012
Calcular la letra del DNI - Gaussianos | Gaussianos
silvana | 24 de enero de 2013 | 02:13
Vótalo
0
hola soy cajera tengo un problema con una tarjeta y necesito saber de que banco es lo primeros num son 45407300 le agradeceria que me envie el nombre del banco de esta tarjeta. gracias
Romeo | 24 de enero de 2013 | 22:41
Vótalo
0
Más que interesante el post, y me ha dejado una duda. Si se puede conseguir el número de control con ese algoritmo y hasta rescatar algún dígito, no podrían armarse tarjetas supuestamente válidas?
Por ejemplo
5123-3212-2350-2007 Verifica el algoritmo y no creo que sea válido ya que acabo de inventarlo utilizando el excel.
gaussianos | 24 de enero de 2013 | 23:17
Vótalo
0
Romeo, debe cumplir que los primeros números sean el código de la entidad bancaria, los siguientes los de la sucursal, etc. Generalmente las páginas en las que se pueden operar con tarjeta se conecta con la propia entidad para confirmar.
Romeo | 25 de enero de 2013 | 00:47
Vótalo
0
uff menos mal que es así.
Porque los primeros cinco dígitos de la tarjeta inventada por mí, son en realidad los primeros 5 dígitos de mi propia tarjeta, los demás están cambiados para lograr el efecto que quería.
Pero seguramente además de eso debe intervenir el famoso código de seguridad que figura al dorso de la tarjeta, con lo cual nos deja más tranquilo.
gaussianos | 25 de enero de 2013 | 06:54
Vótalo
0
Sí, cierto. El código de seguridad de la parte trasera es fundamental, ya que (según tengo entendido) no se calcula mediante ninguna función de los números de la propia tarjeta (vamos, que no es tipo la letra del DNI).
Romeo | 26 de enero de 2013 | 00:50
Vótalo
0
En Argentina no tenemos letra en el DNI así que no entiendo a que te referís. En Argentina nos dan los documentos por orden de aparición o algo así.
Guinda | 24 de abril de 2013 | 22:17
Vótalo
0
Hola, pueden saber en que pais fue emitida una tarjeta que inicia con 4573 07…..??? puede alguien decirme esto?, me proporcionaron una, pero viendo la pagina http://www.visa.com/infinite/ mi pais no esta en el listado y me da curiosidad, saber de donde me la hicieron, GRACIAS
Juanjo Escribano | 25 de abril de 2013 | 09:42
Vótalo
0
ROMEO
Es lo mismo que el dígito de control que se explica en este ejemplo, solo que el resultado final del cálculo se convierte a letra con una tabla