Luhn (mod 10)
Algoritmo de dígito verificador padronizado em ISO/IEC 7812 que usa módulo 10 sobre uma soma ponderada alternada.
O algoritmo de Luhn — também conhecido como módulo 10 — foi patenteado por Hans Peter Luhn (IBM) em 1960 e hoje é de domínio público. É o checksum mais usado no mundo: cartões de crédito (Visa, Mastercard, Amex), IMEIs de telefones, SSNs canadenses e muitos identificadores bancários. Funcionamento: 1. Percorrer os dígitos da direita para a esquerda. 2. Dobrar cada segundo dígito; se o resultado for ≥10, somar seus dígitos (ou subtrair 9). 3. Somar todos os valores resultantes. 4. A soma total deve ser múltiplo de 10. O dígito verificador é o valor que fecha essa congruência. Vantagens: simples, rápido, detecta 100% dos erros de um único dígito e 100% das transposições adjacentes exceto `09`↔`90`. Limitações: não detecta transposições não adjacentes nem mudanças de dois dígitos que preservem a soma. Para identificadores que exigem maior robustez (contas bancárias internacionais), preferem-se módulo 97 (IBAN) ou módulo 11. Na América Latina, Luhn aparece no CBU e CVU argentinos (com pesos específicos) e em muitos cartões bancários. A Normadata implementa Luhn onde a especificação do identificador exige.