El algoritmo de Luhn es una suma de verificación sencilla que detecta la mayoría de los errores de tecleo en números largos. Los números de tarjetas de pago, los IMEI de los teléfonos móviles y varios identificadores nacionales terminan en un dígito de control de Luhn.
Los pasos
Toma el número y trabaja de derecha a izquierda.
- Empezando por el dígito más a la derecha, que es el dígito de control, duplica uno de cada dos dígitos hacia la izquierda.
- Si al duplicar el resultado supera 9, réstale 9 (o suma sus dos cifras).
- Suma todos los dígitos.
- Si el total es múltiplo de 10, el número es válido.
Un ejemplo resuelto
Toma 79927398713. De derecha a izquierda los dígitos son 3, 1, 7, 8, 9, 3, 7, 2, 9, 9, 7. Duplica uno de cada dos, empezando por el 1: el 1 pasa a 2, el 8 pasa a 16 y luego a 7, el 3 pasa a 6, el 2 pasa a 4 y el 9 pasa a 18 y luego a 9. Los dígitos quedan 3, 2, 7, 7, 9, 6, 7, 4, 9, 9, 7 (con los valores duplicados sustituidos) y su suma es 70. Como 70 es divisible entre 10, el número es válido.
Cómo calcular un dígito de control
Si tienes un número parcial, pon un cero en la posición del dígito de control, calcula la suma y elige el dígito que la redondea hasta el siguiente múltiplo de 10. El validador tiene un modo que lo hace por ti.
Qué detecta
Luhn detecta todos los errores de un solo dígito y casi todos los intercambios de dos dígitos adyacentes. El único intercambio adyacente que no detecta es entre 09 y 90.
Qué no hace
Pasar la comprobación no significa que una tarjeta exista, tenga fondos o pertenezca a alguien. No es cifrado ni una medida de seguridad, solo una forma de rechazar errores de tecleo antes de enviar los datos a un sistema de pagos. Las redes de tarjetas se reconocen por los primeros dígitos, por ejemplo 4 para Visa, pero solo el emisor puede confirmar una cuenta real.
Preguntas frecuentes
¿Puedo usarlo para comprobar tarjetas reales? Úsalo solo para validar el formato de números que estás autorizado a manejar y nunca introduzcas datos de tarjetas reales en sitios en los que no confíes. La herramienta se ejecuta en local.
¿Por qué pasan las tarjetas de prueba? Los procesadores de pago publican números de prueba que cumplen Luhn para que la validación de formularios funcione durante el desarrollo.

