Codigo++Verificador

=Código de control=

Saltar a [|navegación], [|búsqueda] El **código de control** es un mecanismo de [|detección de errores] utilizado para verificar la corrección de un dato, generalmente en soporte informático. Los dígitos de control se usan principalmente para detectar errores en el tecleo o transmisión de los datos. Generalmente consisten en uno o más caracteres numéricos o alfabéticos añadidos al dato original y calculados a partir de éste mediante un determinado [|algoritmo]. Algunos de los ejemplos de uso frecuentes son los [|números de identificación personal], [|códigos de barras], [|tarjetas de crédito] y [|códigos bancarios]. Es utilizado normalmente en representaciones numéricas que exijan integridad, como por ejemplo: El método denominado //módulo 11// detecta errores en un solo dígito e intercambios simples o dobles. Se basa en aplicar un factor de chequeo ponderado a cada dígito del número original. El cálculo se realiza como sigue:[|[1]] El siguiente esquema desarrolla un ejemplo de cálculo: Número ejemplo: code Pasos 1 y 2 +---+---+---+---+---+---+---+---+ +---+ | 4 | 1 | 2 | 6 | 1 | 5 | 3 | 3 | - | ? | +---+---+---+---+---+---+---+---+ +---+ | | | | | | | | x3 x2 x7 x6 x5 x4 x3 x2 | | | | | | | | =12 =2 =14 =36 =5 =20 =9 =6
 * **Documentos de identificación:** Algunos documentos de identificación como la [|cédula de identidad] o el [|DNI] dependiendo del país.
 * **Códigos de pagos:** Número de [|factura], número de [|identificación tributaria], etc.
 * **Códigos en general:** Cuenta bancaria, [|cuenta corriente], número de matrícula, [|código de barras], [|ISBN], etc.
 * 1) A cada dígito del número base se le asigna un factor de chequeo ponderado. Dicho factor será 2 para el dígito menos significativo (el que está más a la derecha) y, en orden, 3, 4, 5, 6, 7 para los siguientes. Si hubiera más de 6 dígitos la secuencia se repetiría de modo que el octavo dígito se multiplicaría por 2, el noveno por 3, etc.
 * 2) Cada dígito del número base se multiplica por el factor de chequeo asignado.
 * 3) Se suman los resultados de todas las multiplicaciones.
 * 4) Al resultado de la suma se le calcula el [|módulo] 11 (de ahí el nombre del método), es decir, el resto de la división entera entre 11.
 * 5) A 11 se le resta el módulo calculado en el punto anterior. Si el resultado de la resta es < 10, dicho resultado es el dígito de control que buscábamos. Si el resultado es 11 el dígito de control es 0. Si el resultado es 10 el dígito de control resultante no puede utilizarse.

Paso 3 12 +2 +14 +36 +5 +20 +9 +6 = 104

Paso 4 104 mod 11 = 5 (ya que 104 = 11 x 9 + 5)

Paso 5 11 - 5 = 6

Resultado = 41261533-6

code A veces se usan variantes, como sustituir el resultado por una letra cuando el resultado es 10. Por ejemplo, en Chile el [|Rol Único Nacional] (RUN) y el [|Rol Único Tributario] (RUT) utilizan este sistema y cuando el resultado del algoritmo es 10 el carácter de control es la letra "K".

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: code +---+---+---+---+---+---+ +---+ | 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

code 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