ForHosting KIT · Utilidades de desarrollo

Dígito de control Luhn mod-10

Para 7992739871 el dígito de control Luhn es 3, y queda 79927398713: la regla módulo 10 de las tarjetas de pago, aplicada a cualquier serie de cifras, como números de socio o de serie. También valida números completos. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Número
7992739871
Obtiene
Modo de cálculo
Compute
Entrada
7992739871
Dígito de control
3
Con dígito de control
79927398713

Los códigos de cuenta largos, fragmentos de IMEI, números de socio y series internas son fáciles de teclear mal. El algoritmo de Luhn —también llamado esquema de dígito de control módulo 10— añade un único dígito final de modo que la mayoría de las sustituciones de un dígito y muchas transposiciones adyacentes rompen la suma de verificación. Esta capacidad calcula ese dígito para cualquier carga útil de dígitos puros que usted ya tenga, o valida un número completo que ya lo incluya, y rechaza la entrada no numérica con un error claro en lugar de eliminar guiones o letras en silencio. A diferencia de un comprobador solo para tarjetas de pago, acepta cualquier longitud de dígitos para que usted pueda proteger SKU de almacén, identificadores de fidelización y etiquetas por lotes con la misma regla que la industria ya confía en las tarjetas.

Qué hace el algoritmo Luhn mod-10 y qué errores caza

Los dígitos de control existen porque las personas y los teclados introducen daños predecibles: una tecla equivocada, dos dígitos vecinos intercambiados o un dígito insertado o eliminado al volver a teclear. Hans Peter Luhn publicó un procedimiento sencillo de derecha a izquierda que duplica cada segundo dígito, reduce los valores superiores a nueve restando nueve, suma el resultado y elige un dígito final para que el total sea divisible por diez.

Esa construcción caza todos los errores de un solo dígito y la mayoría de las transposiciones adyacentes, y por eso las redes de pago, los identificadores de telecomunicaciones y un sinfín de formatos de cuenta internos siguen confiando en ella décadas después. Esta herramienta implementa ese recorrido estándar sobre cualquier cadena de dígitos puros —no una variante propia ni un analizador de BIN de red de tarjetas—.

Usted obtiene el dígito de control como cadena de un carácter, el número completo con el dígito añadido, o un indicador booleano de validez con el dígito de control esperado recalculado solo a partir de la carga útil. La respuesta siempre nombra el algoritmo como luhn para que los sistemas posteriores registren qué esquema protegió el valor.

Frente a los dígitos de control de cuasigrupo Damm, Luhn es el valor por defecto de la industria para campos tipo tarjeta o cuenta; frente a los dígitos de la familia de códigos de barras (EAN, UPC, ISBN), Luhn no está atado a un diseño de GTIN minorista —se aplica a cualquier carga útil de dígitos que usted elija. Conocer esos compromisos le ayuda a elegir el esquema adecuado: use Luhn cuando la interoperabilidad con sistemas mod-10 existentes importe más que cazar hasta el último par de transposición.

Cómo calcular un dígito de control o validar un número completo

Envíe un campo number que contenga solo los caracteres del 0 al 9. El modo validate espera un número completo de al menos dos dígitos (uno o más dígitos de carga útil más el dígito de control final). Esa forma facilita mostrar «usted tecleó X, se esperaba Y» en un formulario sin una segunda llamada.

Las cadenas vacías, un number faltante y los valores de modo no válidos fallan antes de cualquier duplicación y no se facturan. Prefiera compute cuando acuñe identificadores nuevos; prefiera validate cuando reciba un identificador de un usuario, un fichero de socio o una etiqueta escaneada y necesite una comprobación booleana antes de buscar el registro.

Dónde encajan los dígitos de control Luhn en sistemas reales

Los programas de socios y fidelización acuñan identificadores numéricos secuenciales o aleatorios y necesitan un dígito final que los agentes del centro de llamadas y los teclados móviles no corrompan en silencio. Los equipos de almacén y logística imprimen códigos de bulto o de activo; un solo dígito mal tecleado en la ruta de un dispositivo de mano es habitual, y Luhn caza toda sustitución de un dígito.

Los flujos de telecomunicaciones y de dispositivos que ya documentan IMEI u identificadores similares en forma mod-10 pueden recalcular y verificar sin una interfaz específica de tarjeta. Las pruebas de integración y los trabajos de calidad de datos recalculan el dígito de control esperado para cada fila de una exportación CSV y marcan las filas donde el número completo almacenado ya no coincide, lo que caza tanto las ediciones humanas como los errores de desfase por uno en los generadores.

Los equipos de producto que ya exponen un validador Luhn de tarjeta para el pago pueden adoptar aún esta herramienta general para identificadores internos donde se exige el mismo algoritmo pero la entrada no es un PAN. No tome un control Luhn superado como prueba de autorización, propiedad o de que una tarjeta sea real —solo prueba que la cadena de dígitos está bien formada bajo este algoritmo, el mismo listón de honestidad que usted aplica a cualquier suma de verificación.

Auditar columnas de identificadores exportadas

Valide por lotes todos los identificadores numéricos de un CSV de socio o de una exportación de almacén y ponga en cuarentena las filas cuyo dígito de control ya no coincida con el valor esperado recalculado.

¿Qué es un dígito de control Luhn mod-10?

Es un único dígito final calculado con el algoritmo de duplicación de Hans Peter Luhn de modo que la suma ponderada de dígitos del número completo sea divisible por diez, cazando la mayoría de las erratas de un dígito y muchas de transposición.

¿Qué ocurre con letras, espacios o guiones?

Proporcione solo dígitos 0-9; las tareas de validación fallidas no se facturan.

¿Es gratuita la herramienta de dígito de control Luhn?

La herramienta del navegador es gratuita y se ejecuta en local.

¿Qué errores de tecleo detecta el dígito de control Luhn?

Detecta cualquier cifra equivocada y la mayoría de los cambios de orden entre dos cifras vecinas, los dos descuidos más comunes al volver a teclear un número. Algunas inversiones se le escapan: es la contrapartida de seguir siendo compatible con los sistemas módulo 10 existentes.

¿Un número Luhn válido significa que la tarjeta o la cuenta existe?

No. Superar la comprobación solo indica que la serie de cifras está bien formada según la regla de Luhn. No demuestra autorización, titularidad ni que la tarjeta exista: úselo como filtro de erratas, no como verificación.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

POSThttps://api.kit.forhosting.com/enc/luhn

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

curl -X POST https://api.kit.forhosting.com/enc/luhn \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"number":"7992739871"}'
{
  "number": "7992739871"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.luhn",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ejecútela gratis en el navegador o llame a la API del KIT al precio publicado; ambas vías usan la misma aritmética pura, sin red y sin números almacenados.

Cómo calcular un dígito de control o validar un número completo

Los espacios, guiones, letras, puntos decimales y la notación científica se rechazan como entrada no numérica con invalid_input, de modo que nunca acepta un valor recortado en silencio. El modo compute es el predeterminado: el motor recorre la carga útil desde la derecha como si un dígito de control se colocara al final, devuelve check_digit como cadena de un carácter y devuelve with_check como la carga útil más ese dígito, para que usted pueda almacenar o imprimir una sola cadena. La respuesta informa de valid como verdadero cuando la suma ponderada completa es divisible por diez, e incluye siempre el check_digit final, el expected_check_digit recalculado solo a partir de la carga útil y la subcadena payload sin el último dígito. Como la ruta es un análisis puro sin reloj, fuente aleatoria ni red, la misma entrada siempre produce el mismo JSON en la herramienta gratuita del navegador y en la API. A $0.002 por solicitud correcta, usted puede proteger importaciones masivas, formularios de alta e impresoras de etiquetas por lotes sin negociar un nivel a medida.

Dónde encajan los dígitos de control Luhn en sistemas reales

En cada flujo el contrato es el mismo: solo dígitos, calcular o validar, JSON estructurado que usted puede someter a pruebas de referencia, comportamiento idéntico gratis en el navegador o mediante saldo prepago del KIT, y un fallo honesto cuando la entrada no es numérica.

Acuñar identificadores de socio o de cuenta

Genere una carga útil secuencial, llame al modo compute y almacene with_check para que todo identificador nuevo lleve un dígito final Luhn antes de imprimirlo en tarjetas o enviarlo por correo a los socios.

Validar códigos tecleados o escaneados en la entrada

Cuando un usuario o un escáner envíe un número completo, llame al modo validate y bloquee la búsqueda cuando valid sea falso, mostrando expected_check_digit para ayudar a corregir una sola errata.

¿Cómo calculo un dígito de control Luhn con esta API?

Haga POST con number igual a los dígitos de la carga útil y mode compute (o omita mode). La respuesta incluye check_digit y with_check (carga útil más dígito de control).

¿Cómo valido un número que ya tiene dígito de control?

Haga POST con la cadena completa de dígitos y mode validate. La respuesta incluye valid, check_digit, expected_check_digit y payload sin el último dígito.

Ver la documentación completa del KIT →