Modulo 97

Definição

Algoritmo de dígito verificador que divide o número por 97 e verifica que o resto seja 1; usado em IBAN e outros padrões ISO.

O algoritmo módulo 97 (também conhecido como MOD-97-10 ou ISO/IEC 7064) usa o número primo 97 como divisor para computar um dígito de controle de dois dígitos. É a base da verificação do IBAN e de muitos identificadores europeus. Funcionamento para IBAN: 1. Mover os 4 primeiros caracteres (código do país + dígitos verificadores) para o final da string. 2. Converter cada letra em número (A=10, B=11 … Z=35). 3. Tratar o resultado como um inteiro grande. 4. Calcular `número mod 97`. Deve ser igual a 1 para que o IBAN seja válido. Por que módulo 97: o primo 97 está próximo de 100 mas não é divisor de potências de 10, o que maximiza a detecção de erros. Pega 100% dos erros de um único dígito, 100% das transposições adjacentes e a maioria dos erros múltiplos — muito mais robusto que módulo 10 ou 11. Outros padrões que usam módulo 97: o SEPA Creditor Identifier, o código RIB francês, os IBANs estendidos para contas virtuais. A Normadata implementa o algoritmo MOD-97-10 ao validar IBANs, percorrendo o inteiro em blocos para evitar overflow em linguagens sem BigInt nativo.

Veja também