Los números de tarjetas de crédito se generan siguiendo un algoritmo llamado Luhn, que sirve para verificar la validez de un número. Este algoritmo consiste en sumar los dígitos de la tarjeta de crédito de derecha a izquierda, multiplicando por dos los dígitos que ocupan las posiciones pares. Si el resultado de la multiplicación es mayor que 9, se le resta 9. Por ejemplo, si el número de la tarjeta es 1234-5678-9012-3456, el algoritmo sería el siguiente:
- 6 x 2 = 12, 12 - 9 = 3
- 5 x 1 = 5
- 4 x 2 = 8
- 2 x 2 = 4
- 1 x 1 = 1
- 0 x 2 = 0
- 9 x 1 = 9
- 8 x 2 = 16, 16 - 9 = 7
- 7 x 1 = 7
- 6 x 2 = 12, 12 - 9 = 3
- 5 x 1 = 5
- 4 x 2 = 8
- 3 x 1 = 3
- 2 x 2 = 4
- 1 x 1 = 1
Luego se suman todos los resultados: 3 + 5 + 8 + 3 + 4 + 1 + 0 + 9 + 7 + 7 + 3 + 5 + 8 + 3 + 4 + 1 = 70. Si el resultado es divisible entre 10, el número de la tarjeta es válido. En este caso, 70 / 10 = 7, por lo que el número es válido.