Esta documentação descreve a implementação do serviço de anonimização de dados sensíveis, especificamente números de telefone e CPFs, utilizando a técnica de hash com SHA-256. O objetivo é proteger dados pessoais, tornando-os irreversíveis por meio de um processo de criptografia unidirecional.
O serviço de anonimização tem como finalidade:
A anonimização é realizada para dois tipos de dados:
Interface IAnonimizationAppService:
Define os métodos para anonimização dos dados.
Classe AnonimizationAppService:
Implementa a interface e contém os métodos responsáveis por realizar a anonimização.
Enum TipoCampoV2:
Define os tipos de dados que podem ser anonimizados:
TelefoneCpfInvocação do Método Principal (Anonimize):
Anonimize recebe dois parâmetros:campo (string): O dado original que será anonimizado.tipo (TipoCampoV2): Indica o tipo de dado (Telefone ou Cpf).Telefone, chama HashPhone.Cpf, chama HashCpf.Processamento Específico dos Dados:
string digits = Regex.Replace(campo, @"\D", "");
ComputeSha256Hash que:Retorno do Valor Anonimizado:
Anonimize(string campo, TipoCampoV2 tipo)campo: Valor original a ser anonimizado.tipo: Tipo do campo, definido pelo enum TipoCampoV2.HashPhone ou HashCpf.HashPhone(string phone)phone: Valor original contendo o número de telefone.ComputeSha256Hash.HashCpf(string cpf)cpf: Valor original contendo o CPF.ComputeSha256Hash.ComputeSha256Hash(string input)input: Valor de entrada (string) que deverá ser transformado.Irreversibilidade:
O algoritmo SHA-256 é projetado para ser unidirecional, garantindo que o dado original não possa ser recuperado a partir do hash gerado.
Integridade:
Mesmo que o mesmo dado seja processado diversas vezes, o algoritmo SHA-256 garantirá o mesmo resultado hash, permitindo consistência na anonimização.
Melhorias Futuras:
Para aumentar a segurança, pode-se considerar:
O serviço de anonimização implementado com SHA-256 oferece um método eficaz e seguro para proteger dados sensíveis, como telefones e CPFs. Ao remover caracteres não numéricos e aplicar um hash criptográfico, o sistema garante que os dados originais não possam ser recuperados, atendendo assim aos requisitos de segurança e conformidade com padrões de proteção de dados.