Proteger dados sensíveis em ambientes de desenvolvimento é crucial para evitar vazamentos de informações pessoais. Anonimizar CPFs em dumps de produção é uma prática essencial para manter a conformidade com a LGPD e garantir a segurança dos dados dos usuários. Este método utiliza Python para criar um script simples e eficiente que substitui CPFs reais por números aleatórios válidos, preservando o formato e a estrutura do arquivo original.
O primeiro passo é criar um script Python que irá processar o arquivo de dump e anonimizar os CPFs. O script deve ser capaz de identificar padrões de CPF no arquivo e substituí-los por números gerados aleatoriamente, mas ainda válidos de acordo com o algoritmo de validação do CPF.
import re
import random
def gerar_cpf_aleatorio():
# Gera os 9 primeiros dígitos do CPF
cpf = [random.randint(0, 9) for _ in range(9)]
# Calcula o primeiro dígito verificador
soma = sum(a*b for a, b in zip(cpf, range(10, 1, -1)))
resto = soma % 11
digito1 = 0 if resto < 2 else 11 - resto
cpf.append(digito1)
# Calcula o segundo dígito verificador
soma = sum(a*b for a, b in zip(cpf, range(11, 1, -1)))
resto = soma % 11
digito2 = 0 if resto < 2 else 11 - resto
cpf.append(digito2)
return ''.join(map(str, cpf))
def anonimizar_cpf_arquivo(input_file, output_file):
with open(input_file, 'r') as file:
conteudo = file.read()
# Regex para encontrar CPFs no formato 000.000.000-00 ou 00000000000
padrao_cpf = r'\b\d{3}\.\d{3}\.\d{3}-\d{2}\b|\b\d{11}\b'
cpfs_encontrados = re.findall(padrao_cpf, conteudo)
# Substitui cada CPF encontrado por um CPF aleatório válido
for cpf in cpfs_encontrados:
cpf_anonimo = gerar_cpf_aleatorio()
# Formata o CPF anonimizado da mesma forma que foi encontrado
if '.' in cpf:
cpf_anonimo = f"{cpf_anonimo[:3]}.{cpf_anonimo[3:6]}.{cpf_anonimo[6:9]}-{cpf_anonimo[9:]}"
conteudo = conteudo.replace(cpf, cpf_anonimo, 1)
with open(output_file, 'w') as file:
file.write(conteudo)
# Exemplo de uso
anonimizar_cpf_arquivo('dump_producao.txt', 'dump_producao_anonimizado.txt')
Com o script criado, o próximo passo é executá-lo para processar o arquivo de dump. Certifique-se de que o arquivo de entrada esteja no mesmo diretório do script ou forneça o caminho completo para o arquivo.
python anonimizar_cpf.py
Veja como o script transforma um arquivo de dump antes e depois da anonimização:
| Conteúdo Original | Conteúdo Anonimizado |
|---|---|
| CPF: 123.456.789-09 | CPF: 847.362.591-13 |
| CPF: 98765432100 | CPF: 51927483619 |
| INSERT INTO usuarios (cpf) VALUES ('12345678901'); | INSERT INTO usuarios (cpf) VALUES ('78945612309'); |
Com este script, você pode anonimizar CPFs em dumps de produção de forma rápida e segura, garantindo que os dados sensíveis sejam protegidos durante o desenvolvimento e testes. A automação deste processo elimina erros manuais e mantém a integridade do formato dos dados, facilitando o trabalho da equipe de desenvolvimento sem comprometer a segurança das informações dos usuários.