Seed determinística 74105923
- Entrada
- 7,4,1,0,5,9,2,3 → generateRg(source)
- Saída esperada
- 74.105.923-X
A mesma sequência de dígitos, reproduzida do início, sempre fecha em X porque a soma ponderada da base 74105923 deixa resto 1 na divisão por 11.
RG SSP/SP sintético para fixtures de teste
Toda fixture de RG precisa de um valor plausível sem tocar em identidade real. O gerador de RG deste site implementa a regra SSP/SP: 8 dígitos de base mais 1 dígito verificador em módulo 11, que pode terminar em X. Esta página mostra como fixar a seed, ler o valor determinístico e blindar a máscara do campo contra esse X final.
A mesma sequência de dígitos, reproduzida do início, sempre fecha em X porque a soma ponderada da base 74105923 deixa resto 1 na divisão por 11.
É o valor fixo que a função devolve quando as 20 tentativas aleatórias caem em sequência repetida; útil como constante de teste que nunca muda entre execuções.
Quando o resto da divisão por 11 é 0, o dígito calculado seria 11, e a função substitui por 0; a fixture precisa aceitar um RG com nove zeros seguidos como valor válido.
Não. O RG é emitido por órgãos estaduais e não há um único algoritmo nacional comparável ao do CPF. Cada Secretaria de Segurança Pública usa seu próprio formato e regra, então um número válido em um estado pode não fazer sentido em outro.
Substitua a fonte de dígitos padrão por uma função própria que devolve sempre a mesma sequência, ou chame diretamente a função que recebe a base de 8 dígitos, pulando por completo a etapa aleatória; qualquer uma das duas formas garante o mesmo RG em toda execução do CI.
Porque a última posição do RG SSP/SP pode ser a letra X, não só um dígito; um regex escrito só com dígitos, sem incluir X, derruba cerca de um em cada onze valores gerados, um bug clássico de fixture que só aparece de forma intermitente.
Sim, sem uma seed determinística o gerador não garante unicidade entre chamadas: ele só filtra sequências com dígito repetido, não colisão contra valores já emitidos. Uma suíte que precisa de RGs distintos deve controlar isso na própria fixture, não assumir que a função cuida disso.
Não, e ele não deve ser tratado como tal em nenhum ambiente fora de teste isolado: o cálculo só reproduz o formato e o dígito verificador SSP/SP, sem consultar qualquer base de identidade real, viva ou não.
A geração acontece localmente no navegador. Analytics recebe apenas ação, status, tipo e formato, nunca o RG gerado.