Código de control
El dígito verificador es un mecanismo de autentificación utilizado para verificar la validez y la autenticidad de un valor numérico, evitando de esta forma fraudes o errores de transmisión o digitación. Consiste en uno o más dígitos añadidos al valor original y calculados a partir de éste a través de un determinado algoritmo. Números de documentos de identificación, de matrículas, tarjetas de crédito y cualesquiera otros códigos númericos que necesiten de mayor seguridad utilizan a menudo dígitos verificadores.
Utilización
Es utilizado normalmente en representaciones numéricas que exijan integridad, como por ejemplo:
- Documentos de identificación: Algunos documentos de identificacíon como la cédula de identidad o el DNI dependiendo del país.
- Códigos de pagos: Número de recibo de cobro, código de concesionaria pública etc.
- Códigos en general: Cuenta bancaria, cuenta corriente, número de matrícula etc.
Cálculo del dígito verificador
El método de cálculo de esos dígitos varía conforme el caso. Sin embargo, muchos de ellos se basan en dos rutinas tradicionales: Módulo 11 y Módulo 10.
Módulo 11
Conforme al esquema de abajo, cada dígito del número, comenzando de la derecha para la izquierda (menos significativo para el más significativo) es multiplicado, en orden, por 2, después 3, después 4 y así sucesivamente, hasta el límite de multiplicación escogido. Entonces nuevamente se multiplica el número por 2, 3, etc.
Número ejemplo: 261533-9
+---+---+---+---+---+---+ +---+ | 2 | 6 | 1 | 5 | 3 | 3 | - | 9 | +---+---+---+---+---+---+ +---+ | | | | | | x7 x6 x5 x4 x3 x2 | | | | | | =14 =36 =5 =20 =9 =6 +---+---+---+---+---+-> = (90 x 10) / 11 = 81, resto 9 => DV = 9
La sumatória de esas multiplicaciones es multiplicada por 10 y dividida por 11. El resto de esta división (módulo 11) es el dígito verificador. En la rutina patrón, sólo el dígito menos significativo es utilizado.
Cálculos variantes podrían ocurrir, tal como sustituir por una letra, cuando el cálculo del dígito final de 10 u otro número escogido.
Módulo 10
Conforme al esquema de abajo, cada dígito del número, comenzando de la derecha para la izquierda (menos significativo para el más significativo) es multiplicado, en orden, por 2, después 1, después 2, después 1 y así sucesivamente.
Número ejemplo: 261533-4
+---+---+---+---+---+---+ +---+ | 2 | 6 | 1 | 5 | 3 | 3 | - | 4 | +---+---+---+---+---+---+ +---+ | | | | | | x1 x2 x1 x2 x1 x2 | | | | | | =2 =12 =1 =10 =3 =6 +---+---+---+---+---+-> = (16 / 10) = 1, resto 6 => DV = (10 - 6) = 4
En vez de ser hecha la sumatoria de las multiplicaciones, será hecha la sumatoria de los dígitos de las multiplicaciones (si una multiplicación da 12, por ejemplo, será sumado 1 + 2 = 3).
La sumatoria será dividida por 10 y si el resto (módulo 10) es diferente de cero, el dígito será 10 menos este valor. En caso que el resto sea cero, ese será el dígito verificador.
Estas condiciones finales, sin embargo, podrán ser alteradas conforme el caso.