O dígito verificador: a conta que impede o erro de digitação

Carimbo de madeira gasto ao lado de uma almofada de tinta aberta, sobre mesa escura

Digite um CPF errado num formulário e o sistema recusa na hora, antes de consultar qualquer banco de dados. Não é magia nem conexão com a Receita: é aritmética. Os últimos algarismos daquele número não carregam informação nenhuma. São o resultado de uma conta feita sobre os anteriores.

A ideia é simples

Pegue os algarismos que de fato identificam alguma coisa. Multiplique cada um por um peso diferente, some tudo e tire o resto de uma divisão. Esse resto vira o dígito final, que passa a viajar grudado no número.

Quando alguém digita, o sistema refaz a mesma conta. Se o resultado não bate com o dígito informado, alguma tecla saiu errada. O erro é pego no mesmo segundo, sem consultar nada.

Onde isso está

  • CPF e CNPJ, com dois dígitos no fim, calculados em sequência
  • Cartão de crédito, com um algoritmo criado por um engenheiro da IBM e patenteado em 1960
  • Código de barras de produto, em que o último dos treze algarismos é verificador
  • Boleto bancário, que tem verificador no campo e também na linha digitável
  • ISBN de livro, conta bancária, título de eleitor e praticamente todo código que seres humanos digitam

Que erro ele pega

Os dois erros humanos mais comuns: trocar um algarismo por outro e inverter dois algarismos vizinhos. Um bom esquema de verificação pega praticamente todos os casos do primeiro tipo e a enorme maioria do segundo. É pouca matemática para muita economia.

Ele não pega tudo. Certas combinações de erro escapam de qualquer esquema, e é por isso que sistemas críticos usam mais de um dígito ou outra camada de conferência.

Válido não é verdadeiro

Este é o ponto que mais gente confunde. O dígito verificador testa coerência interna, e não existência. Um número pode passar na conta e não pertencer a ninguém, porque a conta só confere se ele foi bem formado.

É por isso que aceitar um cadastro apenas porque o documento passou na validação é falha de processo. Verificar o dígito evita erro de digitação. Confirmar que a pessoa existe é outra etapa, e exige consultar a fonte.

O que isso tem a ver com numerologia

Muita leitura de documento soma todos os algarismos sem reparar que os últimos não descrevem a pessoa: descrevem os outros algarismos. São resultado de uma conta administrativa, e entram no total como se fossem dado.

Quem quiser mesmo fazer essa leitura ganha mais separando o que é identificação do que é verificação. O caso específico está destrinchado em numerologia do CPF.

O que não dá para afirmar

O dígito verificador não é segurança, não é criptografia e não protege dado nenhum. É uma trava contra engano de teclado, e foi inventado numa época em que tudo era digitado à mão duas ou três vezes ao longo do caminho.

Continue lendo