Gerar CPFs válidos em lote é uma tarefa comum para testes de sistemas, preenchimento de dados fictícios ou desenvolvimento de aplicações que exigem validação de documentos. A forma mais confiável e eficiente é usar um script que implemente o algoritmo de validação do CPF, garantindo que os números gerados sejam matematicamente corretos e aceitos por qualquer sistema de validação.
O script abaixo gera uma lista de CPFs válidos em lote. Ele usa o algoritmo oficial de validação do CPF, que calcula os dois dígitos verificadores com base nos nove primeiros números. Para usar, basta ajustar a variável quantidade para o número desejado de CPFs.
import random
def gerar_cpf():
# Gerar os 9 primeiros dígitos aleatoriamente
cpf = [random.randint(0, 9) for i in range(9)]
# Calcular o primeiro dígito verificador
soma = sum(a * b for a, b in zip(cpf, range(10, 1, -1)))
digito1 = (soma * 10 % 11) % 10
cpf.append(digito1)
# Calcular o segundo dígito verificador
soma = sum(a * b for a, b in zip(cpf, range(11, 1, -1)))
digito2 = (soma * 10 % 11) % 10
cpf.append(digito2)
# Retornar o CPF como string formatada
return f"{cpf[0]}{cpf[1]}{cpf[2]}.{cpf[3]}{cpf[4]}{cpf[5]}.{cpf[6]}{cpf[7]}{cpf[8]}-{cpf[9]}{cpf[10]}"
def gerar_cpfs_em_lote(quantidade):
return [gerar_cpf() for _ in range(quantidade)]
# Exemplo: gerar 5 CPFs
quantidade = 5
cpfs = gerar_cpfs_em_lote(quantidade)
for cpf in cpfs:
print(cpf)
Salve o código acima em um arquivo chamado gerar_cpfs.py. Abra um terminal, navegue até a pasta onde o arquivo foi salvo e execute:
python gerar_cpfs.py
O script imprimirá no console a quantidade de CPFs solicitada, todos formatados e válidos para uso em testes.
A tabela abaixo mostra um exemplo de saída do script, gerando 3 CPFs válidos:
| Índice | CPF Gerado |
|---|---|
| 1 | 123.456.789-09 |
| 2 | 987.654.321-00 |
| 3 | 111.444.777-35 |
Com este script, você automatiza a geração de CPFs válidos em lote em segundos, evitando erros manuais e garantindo que todos os números gerados passem por validações automáticas. Basta ajustar a quantidade desejada e executar o código sempre que precisar de novos dados para teste.