Está claro para todos ( espero ) que almacenar contraseñas sin al menos saltearlas o mezclarlas es una idea terrible .
¿Qué pasa con los correos electrónicos? Supongamos que conserva la dirección de correo electrónico de la suscripción; si la cifra correctamente, es posible que no se pueda enviar correos electrónicos a los usuarios. Por otro lado, si no lo encripta y la base de datos es robada, todos sus usuarios se arriesgan a un posible spam.
Esta pregunta no trata sobre cuestiones específicas de la ley (aunque pueden darse, siguen dependiendo del país) o sobre el cifrado de la base de datos.
Respuestas:
El almacenamiento de un hash salado de las direcciones de correo electrónico podría ser una opción si mantiene esos registros solo para la confirmación / autenticación de la cuenta.
En otros casos, me parece que cifrar los correos electrónicos dificultaría el trabajo de mantener la base de datos y ganaría poco a cambio.
Probablemente, asegurar el acceso a la base de datos en sí es una mejor opción: generalmente hay mucha otra información en la base de datos que no le gustaría reunir.
Una pregunta similar sobre Stackoverflow: ¿Vale la pena cifrar las direcciones de correo electrónico en la base de datos?
fuente
Creo que ya lo dijiste todo.
Lo único que se me ocurre es no usar un filtro hash unidireccional como SHA1 para almacenar las direcciones de correo electrónico. Use algún cifrado de clave pública (reversible) en su aplicación y asegúrese de que su clave privada no esté cerca de la base de datos, para que no puedan ser "robados" juntos.
De esa manera, aún puede descifrar las direcciones de correo electrónico para enviar correos electrónicos,
fuente