Algoritmo Módulo 11: Cómo Funciona el Dígito Verificador del RUT
    Tecnología

    Algoritmo Módulo 11: Cómo Funciona el Dígito Verificador del RUT

    10 de enero de 2025
    7 min de lectura
    Por Equipo Técnico

    El dígito verificador del RUT chileno no es un número aleatorio. Se calcula mediante un algoritmo matemático específico llamado Módulo 11, diseñado para detectar errores de digitación y validar la autenticidad del número.

    ¿Qué es el Algoritmo Módulo 11?

    El Módulo 11 es un algoritmo de verificación que genera un dígito de control basándose en los números del RUT. Este sistema fue implementado para minimizar errores en la transcripción manual de RUTs y prevenir fraudes.

    Cómo Funciona el Algoritmo

    El cálculo del dígito verificador sigue estos pasos:

    Paso 1: Multiplicación en Secuencia

    Se toma cada dígito del RUT (de derecha a izquierda) y se multiplica por una secuencia que va del 2 al 7, repitiéndose cíclicamente.

    Ejemplo con RUT: 12.345.678

    8 × 2 = 16

    7 × 3 = 21

    6 × 4 = 24

    5 × 5 = 25

    4 × 6 = 24

    3 × 7 = 21

    2 × 2 = 4

    1 × 3 = 3

    Paso 2: Suma Total

    Se suman todos los productos obtenidos:

    16 + 21 + 24 + 25 + 24 + 21 + 4 + 3 = 138

    Paso 3: División por 11

    Se divide la suma por 11 y se obtiene el resto:

    138 ÷ 11 = 12 con resto 6

    Paso 4: Cálculo del Dígito Verificador

    Se resta el resto de 11:

    11 - 6 = 5

    Dígito Verificador: 5

    Casos Especiales

    • Si el resultado es 11: El dígito verificador es 0
    • Si el resultado es 10: El dígito verificador es K

    Implementación en Código

    Este es un ejemplo de cómo implementar el algoritmo en JavaScript:

    function calcularDV(rut) {
      let suma = 0;
      let multiplicador = 2;
      
      for (let i = rut.length - 1; i >= 0; i--) {
        suma += parseInt(rut[i]) * multiplicador;
        multiplicador = multiplicador === 7 ? 2 : multiplicador + 1;
      }
      
      const resto = suma % 11;
      const dv = 11 - resto;
      
      if (dv === 11) return '0';
      if (dv === 10) return 'K';
      return dv.toString();
    }

    Ventajas del Módulo 11

    • Detecta errores de transposición (cambio de orden de dígitos)
    • Identifica errores de digitación simple
    • Cálculo rápido y eficiente
    • Estándar ampliamente adoptado en sistemas de identificación

    🔍 ¿Sabías que...?

    El algoritmo Módulo 11 también se utiliza en otros sistemas de identificación alrededor del mundo, incluyendo códigos ISBN de libros y números de cuenta bancaria en varios países.