Gerador de RG: por que não existe "o" algoritmo nacional
Diferente do CPF e do CNPJ — que são cadastros federais, com um único algoritmo de dígito verificador definido pela Receita Federal e válido em todo o território nacional — o RG (Registro Geral) é emitido pelas Secretarias de Segurança Pública de cada estado, e cada uma historicamente adotou seu próprio formato de numeração. Não existe uma norma federal única que todo RG do Brasil siga. Isso tem uma consequência direta para qualquer sistema que "valida" CPF: rigorosamente falando, um RG não tem uma regra de validação universal como o CPF tem — o que a maioria dos sistemas faz, na prática, é aceitar o formato mais comum (8 dígitos + 1 dígito verificador, no padrão adotado pela SSP-SP, que por ser o estado mais populoso acabou virando referência de fato para formulários e validadores genéricos).
O formato usado neste gerador
Este gerador reproduz o padrão SSP-SP: 8 dígitos de base seguidos de um
dígito verificador calculado por Módulo 11, com pesos decrescentes de 9
a 2 aplicados posição a posição. A particularidade desse dígito, em
relação ao CPF, é a regra de mapeamento do resto: quando o resto da
divisão por 11 é 10, o dígito verificador não vira "0" — vira a letra
X (a mesma convenção usada no dígito verificador do ISBN-10
e de outros sistemas Módulo 11 que precisam representar o valor 10 como
um único caractere). Quando o resto é exatamente 11 (soma zero ou
múltiplo exato), o dígito verificador é 0. Formulários e validadores que
tratam RG como "só números" e rejeitam automaticamente qualquer valor
com X no final estão, na verdade, rejeitando um formato
válido dentro do próprio padrão SSP-SP.
Uso em testes de cadastro e KYC
Formulários de onboarding que pedem RG — bancos, fintechs, corretoras,
processos de KYC (Know Your Customer) — normalmente fazem uma validação
de formato bem mais permissiva que a de CPF, justamente porque não há um
algoritmo único a se apoiar; a checagem costuma se limitar a
comprimento, caracteres permitidos e, no máximo, ao dígito verificador
do padrão SP quando o campo de UF emissora indica São Paulo. Isso torna
o RG um bom caso de teste para verificar se o formulário trata
corretamente entradas com X no dígito verificador, com e
sem pontuação (00.000.000-0), e se o campo de UF emissora
realmente influencia a lógica de validação ou é só decorativo — um erro
comum é a UI pedir "Estado emissor" mas a validação de backend ignorar
esse valor completamente.
Como o RG gerado aqui segue apenas um padrão de referência (não existe verificação de existência real, porque não há uma base nacional única para consultar), ele serve estritamente para testar a camada de validação de formato de um sistema — nunca para simular a identidade de uma pessoa real, inclusive porque, tecnicamente, seria impossível garantir isso dado que RGs de estados diferentes podem coincidir em número sem colidir de fato (o documento completo de identificação inclui a UF emissora, não só o número).