Está claro para todos ( espero ) que armazenar senhas sem pelo menos salgar / hash elas é uma péssima idéia.
E os emails? Digamos que você mantenha o endereço de e-mail da inscrição; se você o criptografar corretamente, talvez não seja possível enviar e-mails aos usuários. Por outro lado, se você não o criptografar e o banco de dados for roubado, todos os seus usuários correm o risco de um possível spam.
Esta pergunta não é sobre questões específicas da lei (embora possam ser apresentadas, permanecem dependentes do país) ou sobre a criptografia do próprio banco de dados.
Respostas:
O armazenamento de um hash salgado dos endereços de email pode estar na opção se você mantiver esses registros apenas para confirmação / autenticação da conta.
Em outros casos, parece-me que criptografar os e-mails dificultaria a manutenção do banco de dados e ganharia pouco em troca.
Provavelmente, proteger o acesso ao próprio banco de dados é uma opção melhor: geralmente há muitas outras informações no banco de dados que você não gostaria de obter.
Uma pergunta semelhante no Stackoverflow: vale a pena criptografar endereços de email no banco de dados?
fonte
Eu acho que você já disse tudo.
A única coisa em que consigo pensar é em não usar um filtro de hash unidirecional como o SHA1 para armazenar os endereços de email. Use alguma criptografia de chave pública (reversível) em seu aplicativo e verifique se sua chave privada está longe do banco de dados, para que não possam ser "roubadas" juntas.
Dessa forma, você ainda pode descriptografar os endereços de email para enviar emails,
fonte