Dígitos de control ISO 7064 mod 97-10
Para 123456 los dígitos de control ISO 7064 MOD 97-10 son 76, y queda 12345676: la misma regla de dos dígitos que protege los IBAN, aplicada a cualquier código de letras y cifras. La validación revisa un código que ya los lleva. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Texto
- 123456
- Modo de cálculo
- Compute
- Entrada
- 123456
- Dígitos de control
- 76
- Con dígito de control
- 12345676
Las referencias de cuenta largas, los identificadores de pago y los códigos de almacén son fáciles de teclear mal, y un solo carácter equivocado puede enviar dinero o mercancía al lugar incorrecto. El sistema de dígitos de control ISO 7064 MOD 97-10 añade dos dígitos decimales para que casi todo error de un carácter y muchas transposiciones rompan la suma de verificación. Esta capacidad calcula esos dos dígitos para una carga alfanumérica que usted ya tiene, o valida una cadena completa que ya los incluye, y rechaza la entrada no alfanumérica con un error claro en lugar de recortar basura en silencio. Las letras se mapean de A igual a diez hasta Z igual a treinta y cinco antes de la aritmética modular, coincidiendo con el conjunto híbrido usado por esquemas tipo IBAN y otros códigos MOD 97-10.
Qué es ISO 7064 MOD 97-10 y por qué importan dos dígitos
Los dígitos de control existen porque las personas, los teclados, el OCR y la copia a mano introducen daños predecibles: un carácter equivocado, dos símbolos vecinos intercambiados o un dígito omitido o insertado. ISO 7064 define varios sistemas de control modular; MOD 97-10 es el sistema puro (y híbrido alfanumérico) que produce dos caracteres de control del alfabeto de dígitos del cero al nueve.
En la práctica usted mapea las letras de A a Z a los valores de dos dígitos del diez al treinta y cinco, trata la cadena completa como un entero grande en base diez tras esa expansión y exige que ese entero sea congruente con uno módulo noventa y siete cuando se incluyen los dos dígitos de control.
Para acuñar dígitos de control usted añade temporalmente dos ceros, toma el resto módulo noventa y siete y fija el valor de control en noventa y ocho menos ese resto, siempre escrito como dos dígitos del cero-uno al noventa y ocho.
Esa construcción es exactamente la que usan por debajo los números de cuenta bancaria internacionales para sus dos dígitos de control tras el código de país, y la misma matemática protege referencias relacionadas con SEPA, algunos identificadores nacionales de acreedor y códigos internos que eligieron MOD 97-10 por su fuerte distribución residual. Dos dígitos de control dan un módulo de noventa y siete, un primo, que ofrece una cobertura residual mucho mejor que un solo dígito módulo diez para los patrones de errata que la gente comete de verdad.
Frente a esquemas de un solo dígito como Damm o Luhn, MOD 97-10 es la elección correcta cuando su dominio ya documenta ISO 7064 o reglas de la familia IBAN y usted necesita dos dígitos de control decimales en lugar de uno.
Cómo calcular dígitos de control o validar un código completo
Envíe un campo text que contenga solo caracteres de A a Z y dígitos del cero al nueve. Se ignora mayúsculas y minúsculas; el motor pasa a mayúsculas antes del mapeo. El modo validate espera una cadena completa de al menos tres caracteres (uno o más caracteres de carga útil más los dos dígitos de control finales).
El par final debe ser dígitos decimales; si son letras la solicitud falla antes de cualquier recorrido modular. Esa forma facilita mostrar «usted tecleó X, se esperaba Y» en un formulario sin una segunda llamada. Las cadenas vacías, el text faltante y los valores de modo no válidos fallan antes de cualquier aritmética y no se facturan.
Prefiera compute cuando acuñe códigos nuevos; prefiera validate cuando reciba un código de un usuario, un fichero de socio o una etiqueta escaneada y necesite una puerta booleana antes de buscar el registro. Tenga en cuenta que la validación completa de IBAN también reordena país y posiciones de control y aplica tablas de longitud por país; esta capacidad es el núcleo compartido MOD 97-10, no un comprobador completo de formato IBAN por país.
Dónde encajan los dígitos de control MOD 97-10 en sistemas reales
Los equipos de tesorería y pagos que construyen referencias de pago internas junto a campos IBAN necesitan la misma regla de control de dos dígitos sin arrastrar una biblioteca bancaria completa. Los programas de socios y fidelización acuñan identificadores alfanuméricos y quieren un par 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; la transposición de dos dígitos en la ruta de un dispositivo de mano es común, y un módulo de noventa y siete caza muchos más de esos errores que un solo dígito módulo diez. Las oficinas de sanidad y educación que aún mueven formularios en papel con números de referencia de varios caracteres pueden validar en la entrada y mostrar una corrección inmediata en lugar de crear un historial o una matrícula duplicados.
Las pruebas de integración y los trabajos de calidad de datos recalculan los dígitos de control esperados para cada fila de una exportación CSV y marcan las filas donde el código 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 usan Luhn para campos tipo tarjeta pueden adoptar MOD 97-10 para identificadores internos donde el estándar del dominio o el contrato del socio ya especifica ISO 7064.
No tome un control MOD 97-10 superado como prueba de autorización, propiedad o de que una cadena sea una cuenta bancaria real en un país dado —solo prueba que la cadena de caracteres está bien formada bajo este algoritmo, el mismo listón de honestidad que usted aplica a cualquier suma de verificación.
Qué puede hacer con ella
Auditar columnas de códigos exportadas
Valide por lotes cada referencia alfanumérica de un CSV de socio o de una exportación de almacén y ponga en cuarentena las filas cuyos dígitos de control ya no coincidan con el valor esperado recalculado.
Preguntas frecuentes
¿Qué es el dígito de control ISO 7064 mod 97-10?
Es un control decimal de dos dígitos calculado con módulo 97 de modo que casi cualquier error de un carácter en un código alfanumérico hace fallar la validación de la cadena completa.
¿Qué ocurre con espacios, guiones u otros símbolos?
Proporcione solo A-Z y 0-9; las tareas de validación fallidas no se facturan.
¿Es gratuita la herramienta de dígitos de control mod 97-10?
La herramienta del navegador es gratuita y se ejecuta en local.
¿Cómo se calculan los dos dígitos de control?
Se añaden dos ceros al final del código, se toma el resto de dividir entre noventa y siete y el control es noventa y ocho menos ese resto, escrito siempre con dos cifras. Para 123456 sale 76.
¿Sirve para validar un IBAN entero?
Solo su núcleo de cálculo. La comprobación completa de un IBAN también mueve el código de país y los dígitos de control al final y verifica la longitud de cada país, algo que esta herramienta no hace. Aquí obtiene el paso MOD 97-10 compartido.
Herramientas relacionadas
Para desarrolladores — acceso por API
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.
Endpoint de API
¿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.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/enc/mod97 \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"123456"}'const res = await fetch("https://api.kit.forhosting.com/enc/mod97", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "123456"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/enc/mod97",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "123456"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/enc/mod97", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"123456"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"123456"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/enc/mod97", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "123456"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "enc.mod97",
"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.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
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 secretos almacenados.
Qué es ISO 7064 MOD 97-10 y por qué importan dos dígitos
Esta herramienta implementa ese recorrido estándar con reducción iterativa del resto para que los códigos largos nunca desborden los números de JavaScript, y siempre etiqueta el algoritmo como iso7064_mod97_10 para que los sistemas posteriores registren qué esquema protegió el valor.
Cómo calcular dígitos de control o validar un código completo
Los espacios, guiones, puntuación y otros símbolos se rechazan como entrada no alfanumérica con invalid_input, de modo que nunca acepta un valor recortado en silencio. El modo compute es el predeterminado: el motor mapea la carga útil, añade dos ceros, reduce módulo noventa y siete, devuelve check_digits como una cadena de dos caracteres y devuelve with_check como la carga útil más esos dígitos, para que usted pueda almacenar o imprimir una sola cadena. La respuesta informa de valid verdadero cuando el entero mapeado completo es congruente con uno módulo noventa y siete, e incluye siempre los check_digits finales, los expected_check_digits recalculados solo a partir de la carga útil y la subcadena de la carga útil sin los dos últimos caracteres. 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 MOD 97-10 en sistemas reales
En cada flujo el contrato es el mismo: solo alfanumérico, 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 alfanumérica.
Casos de integración
Acuñar códigos de cuenta o de referencia protegidos
Genere una carga alfanumérica, llame al modo compute y almacene with_check para que todo código nuevo lleve dígitos finales ISO 7064 mod 97-10 antes de imprimirlo o enviarlo por correo.
Validar códigos tecleados o escaneados en la entrada
Cuando un usuario o un escáner envíe un código completo, llame al modo validate y bloquee la búsqueda cuando valid sea falso, mostrando expected_check_digits para ayudar a corregir una errata.
Preguntas técnicas
¿Cómo calculo dígitos de control mod 97-10 con esta API?
Haga POST con text igual a la carga útil (A-Z, 0-9) y mode compute (u omita mode). La respuesta incluye check_digits y with_check (carga útil más los dos dígitos).
¿Cómo valido un código que ya tiene dígitos de control?
Haga POST con la cadena alfanumérica completa y mode validate. La respuesta incluye valid, check_digits, expected_check_digits y payload sin los dos últimos caracteres.