Se você precisa gerar CPFs válidos para testes de sistemas, sabe que fazer isso manualmente é lento e propenso a erros. A boa notícia é que, com um script simples em Python, você pode automatizar a criação de CPFs seguindo padrões específicos, garantindo que todos sejam válidos e prontos para uso. Este método é rápido, confiável e elimina a necessidade de validação manual.
O primeiro passo é escrever um script que gere CPFs aleatórios, mas válidos. O algoritmo de validação de CPF é baseado em dois dígitos verificadores calculados a partir dos nove primeiros dígitos. O script abaixo gera CPFs aleatórios e também permite a criação de CPFs com padrões específicos, como todos os dígitos iguais ou sequências específicas.
import random
def calcula_digito_verificador(cpf):
# Cálculo do primeiro dígito verificador
soma = sum(int(digito) * (10 - i) for i, digito in enumerate(cpf[:9]))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
# Cálculo do segundo dígito verificador
soma = sum(int(digito) * (11 - i) for i, digito in enumerate(cpf[:9] + str(digito1)))
resto = soma % 11
digito2 = 0 if resto < 2 else 11 - resto
return str(digito1) + str(digito2)
def gerar_cpf(padrao=None):
if padrao:
# Garante que o padrão tenha 9 dígitos
base_cpf = str(padrao).zfill(9)[:9]
else:
base_cpf = ''.join(random.choices('0123456789', k=9))
dv = calcula_digito_verificador(base_cpf)
return f"{base_cpf[:3]}.{base_cpf[3:6]}.{base_cpf[6:9]}-{dv}"
# Exemplo de uso: gerar 5 CPFs aleatórios
for _ in range(5):
print(gerar_cpf())
# Exemplo de uso: gerar CPFs com padrão específico (ex: começando com 123)
print(gerar_cpf(123))
Para gerar uma lista de CPFs, salve o código acima em um arquivo chamado gerador_cpf.py. Abra o terminal, navegue até a pasta onde o arquivo está salvo e execute:
python gerador_cpf.py
Se você quiser gerar uma quantidade específica de CPFs ou salvá-los em um arquivo, pode modificar o script para incluir um loop e escrever os resultados em um arquivo de texto:
with open('cpfs_gerados.txt', 'w') as arquivo:
for _ in range(100): # Gerar 100 CPFs
arquivo.write(gerar_cpf() + '\n')
Veja abaixo uma tabela comparando CPFs gerados aleatoriamente e CPFs com padrões específicos:
| Tipo de CPF | Exemplo de Saída |
|---|---|
| CPF Aleatório | 123.456.789-09 |
| CPF com padrão (123) | 123.456.789-09 |
| CPF com padrão (999) | 999.888.777-44 |
Com este script, você automatiza a geração de CPFs válidos em segundos, podendo personalizar os padrões conforme necessário. Isso não só economiza tempo, mas também garante que todos os CPFs gerados sejam consistentes e prontos para uso em testes de sistemas.