100%(2)100% encontró este documento útil (2 votos)
359 vistas5 páginas
El algoritmo de Luhn se usa para generar y validar números de tarjetas de crédito. Genera un dígito de verificación al final de un número de tarjeta multiplicando los dígitos pares por 2, sumando los dígitos, y tomando el residuo de dividir entre 10. Para validar, se aplica el mismo proceso y si el resultado es 0, el número es válido. Aunque útil, el algoritmo no es perfecto y nuevos algoritmos como Verhoeff son más precisos.
El algoritmo de Luhn se usa para generar y validar números de tarjetas de crédito. Genera un dígito de verificación al final de un número de tarjeta multiplicando los dígitos pares por 2, sumando los dígitos, y tomando el residuo de dividir entre 10. Para validar, se aplica el mismo proceso y si el resultado es 0, el número es válido. Aunque útil, el algoritmo no es perfecto y nuevos algoritmos como Verhoeff son más precisos.
El algoritmo de Luhn se usa para generar y validar números de tarjetas de crédito. Genera un dígito de verificación al final de un número de tarjeta multiplicando los dígitos pares por 2, sumando los dígitos, y tomando el residuo de dividir entre 10. Para validar, se aplica el mismo proceso y si el resultado es 0, el número es válido. Aunque útil, el algoritmo no es perfecto y nuevos algoritmos como Verhoeff son más precisos.
Tal y como se explicó hace algunos años en el artículo «¿Cómo funcionan las tarjetas de pago? Parte I: PAN (Primary Account Number)«, el PAN de una tarjeta está conformado por una serie de dígitos (por lo general 16) con una estructura definida
Este artículo describirá la importancia del
último dígito del PAN, conocido como «dígito de verificación» («check digit»), valor que permite identificar si un número de tarjeta de pago es válido o no. Antes de proceder, es importante tener en cuenta que el algoritmo de Luhn permite comprobar si una secuencia de dígitos corresponde a un número de tarjeta (PAN) válido, sin que ello implique que dicha tarjeta sea operativa o que pueda ser usada en transacciones comerciales, labor que corresponde al centro autorizador.
Obviamente, una de las aplicaciones principales
de este algoritmo se encuentra en la identificación de errores de digitación del PAN de las tarjetas de pago (definido en el estándar ISO/IEC 7812-1:2006 Identification cards — Identification of issuers — Part 1: Numbering system).
A pesar de su facilidad de implementación, el
algoritmo no ofrece confiabilidad total en el caso de intercambio de dos cifras contiguas (por ejemplo 12 con 21), razón por la cual la fórmula ha sido optimizada en algoritmos más recientes como es el caso del algoritmo de Verhoeff y el algoritmo de Damm. Generación del dígito de verificación a través del algoritmo de Luhn Para generar el dígito de verificación empleando el algoritmo de Luhn se deben seguir estos pasos: En una secuencia de dígitos dada, el dígito de verificación será el último valor, que en principio se desconoce Partiendo de esa última posición, se multiplica cada dígito de posición par (contando desde la derecha) por dos. Si el resultado es un número de dos dígitos, entonces se suman estos dos valores Posteriormente, se suman todos los dígitos obtenidos El dígito de verificación es el número que se obtiene como residuo después de dividir ese resultado entre 10 (que es lo que en matemáticas se denomina mod-10). En otras palabras, el dígito de verificación es el número que debe agregarse a este resultado para hacer el siguiente múltiplo de 10.
Generación del dígito de verificación empleando
el algoritmo de Luhn
Validación de un número de tarjeta empleando el
algoritmo de Luhn Cuando se cuenta con una secuencia de dígitos y se quiere saber si esos números corresponden o no a un posible número de tarjeta de pago (PAN), se aplica el algoritmo de Luhn cuyo resultado debe ser 0 (cero) si esa secuencia es válida. En este caso, los pasos a seguir son los mismos que en la generación, sólo que esta vez se tiene en cuenta el último dígito de la secuencia dentro de las operaciones aditivas. Para este ejemplo se usará la secuencia con el dígito de verificación generado anteriormente:
Validación de un número de tarjeta empleando el
algoritmo de Luhn Como se puede observar, la secuencia es considerada válida ya que el resultado de la operación mod-10 es igual a cero. El siguiente caso analiza otra secuencia de 16 dígitos para identificar si es un número de tarjeta válido o no: Validación de un número de tarjeta empleando el algoritmo de Luhn En este caso, el resultado de mod-10 es igual a 1, por lo que la secuencia corresponde a un número de tarjeta inválido.