FreeToGenerate.com

Luhn detecta toda cifra mal tecleada y todo par intercambiado salvo uno: el 0 junto al 9.

La suma de control es válida

Longitud
16 · En el rango que usan las tarjetas bancarias, de 13 a 19 cifras.

La única errata que no puede detectar

Este número no tiene ningún 0 junto a un 9, así que se detectaría cualquier cifra mal tecleada y cualquier intercambio de dos vecinas.

Lo que una suma de control válida no te dice

Solo que las cifras son coherentes entre sí, es decir, que quien las tecleó probablemente no se equivocó en ninguna. No dice nada sobre si el número se emitió alguna vez, si pertenece a alguien o si funciona. Eso lo sabe quien guarda los registros, y ninguna aritmética puede responderlo.

También disponible en: English · Português · Français · العربية

Comprobador del algoritmo de Luhn

Valida una suma de control de Luhn, mira qué cifra implican las demás y descubre exactamente qué error no puede ver.

¿Qué es el algoritmo de Luhn?

El algoritmo de Luhn es una suma de control: una regla que convierte las cifras de un número en una cifra extra al final, de modo que una errata en cualquier parte del número haga que el conjunto ya no cuadre. Está en todas las tarjetas bancarias, en el IMEI que identifica un teléfono y en documentos de identidad de varios países.

La regla es corta. De derecha a izquierda, dobla una cifra sí y otra no; si al doblar pasas de nueve, resta nueve. Suma todo. Si el total es divisible entre diez, el número es coherente.

Existe para detectar errores, no para demostrar nada. Un formulario de pago lo ejecuta antes de enviar para poder decir «revisa ese número» sin ir y volver del banco, y un escáner de almacén lo ejecuta para rechazar en el acto un IMEI mal leído.

Cómo usarlo

  1. Pega un número con espacios o sin ellos. Los espacios y los guiones se ignoran, así que un número de tarjeta copiado en grupos de cuatro sirve tal cual. Se rechaza cualquier cosa de menos de ocho cifras: una suma de control sobre un puñado de cifras no dice gran cosa, y ningún identificador real protegido por Luhn es tan corto.
  2. Lee el veredicto. Cuando la suma de control falla, la herramienta dice qué cifra implican las demás, que suele bastar para ver cuál tecleaste mal. Cuando pasa, señala qué sugiere la longitud, que es una pista sobre la forma del número y no una identificación.
  3. Mira el aviso de debajo. Si el número tiene un 0 junto a un 9, te dice dónde. Ese es el único sitio donde una errata puede esconderse, por el motivo que se explica más abajo.

Qué detecta, contado y no citado

Lo que suele decirse es que Luhn detecta todos los errores de una sola cifra y todos los intercambios salvo uno. En vez de repetirlo, lo medimos. Tomando números válidos de dieciséis cifras y cambiando una cifra cada vez, en todas las posiciones, por todos los demás valores: 2 880 000 alteraciones probadas, ninguna se escapó. Toda cifra mal tecleada rompe la suma de control.

Intercambiar dos cifras contiguas es el otro desliz habitual, y aquí Luhn es casi perfecto pero no del todo. Sobre 351 536 intercambios contiguos, pasaron 7731: el 2,20%. Y son una sola pareja de cifras: el 0 y el 9. Ninguna otra pareja de vecinas se puede intercambiar sin que la suma de control lo note.

El motivo es el paso de doblar. El cero doblado es cero. El nueve doblado es dieciocho, que se reduce a nueve. Así que en la frontera entre una posición doblada y otra sin doblar, el 0 y el 9 aportan el mismo total en cualquier orden, y el intercambio es invisible. Cualquier otra pareja cambia la suma. La herramienta contrasta esta predicción con las noventa parejas ordenadas de cifras, así que la afirmación descansa en la aritmética y no solo en el barrido.

Por qué Luhn gana a la otra suma de control módulo diez

El ISBN-13, la suma de control de todos los libros publicados desde 2007, también es módulo diez. Este sitio lo midió de la misma manera y se deja cinco parejas de cifras —0 y 5, 1 y 6, 2 y 7, 3 y 8, 4 y 9—, que suponen el 10,21% de las transposiciones contiguas. Luhn se deja una pareja y el 2,20%.

Así que el módulo no es lo que los separa. El ISBN-13 pondera sus cifras alternando 1 y 3, y eso es lineal: intercambiar vecinas desplaza el total en el doble de su diferencia, y cualquier diferencia de cinco desaparece módulo diez. El doblar y restar nueve de Luhn no es lineal, y ese único quiebro es lo que le cuesta una sola pareja ciega en vez de cinco.

Es una bonita ilustración de que la fuerza de una suma de control vive en su ponderación y no en su módulo, y de que un esquema diseñado en 1954 para máquinas de tarjetas perforadas lo hace mejor en esta medida que otro adoptado en 2007.

Límites honestos

Una suma de control válida significa que las cifras son coherentes entre sí. No significa que el número se haya emitido, pertenezca a alguien o funcione. Los números de tarjeta, los IMEI y los documentos de identidad son registros en la base de datos de alguien, y la única forma de saber si uno es real es preguntar a quien lleva esa base. Cualquier página que diga verificar una tarjeta sin contactar con un emisor está haciendo exactamente lo que esta: aritmética.

Esta herramienta tampoco identifica al emisor. Las primeras cifras de una tarjeta sí lo codifican, mediante un registro que mantienen las redes de pago, pero ese registro no es público del todo, cambia, y una copia caducada se equivocaría con toda seguridad: es la objeción de siempre en este sitio a empaquetar datos que se mueven. La nota de longitud es una pista sobre la forma, nada más.

Luhn es una comprobación de erratas, no una medida de seguridad, y nunca pretendió serlo. Impide que una cifra transpuesta llegue a una pasarela de pago; no hace nada frente a quien pueda ejecutar las mismas tres líneas de aritmética. Todas sus implementaciones son públicas, incluida esta.

Por último, las cifras de arriba salen de barrer números generados y no reales, porque la propiedad es aritmética y no depende de qué números se hayan emitido. La pareja ciega es demostrable a partir de la regla de doblar, y la página ofrece esa demostración en vez de apoyarse en la muestra.

¿Por qué es gratis?

Porque es una suma y un resto. No hay conjunto de datos, no hay nada que descargar y no hay servidor de por medio: todo se ejecuta en tu navegador y nada de lo que escribes se sube, se registra ni se guarda en ninguna parte.

Ese último punto importa aquí más que en la mayoría de las páginas. Así que no hay cuenta, ni registro, ni nada reservado. El motor y sus 218 comprobaciones están en el repositorio junto a la página, incluidos los barridos que hay detrás de cada cifra citada arriba.