Mi jefe tuvo una idea extraña en mi opinión. Él no quiere mantener las direcciones de correo electrónico en la base de datos. Sin embargo, los usamos para iniciar sesión en las personas y mantenemos boletines informativos para quienes dieron su consentimiento activamente. Además, de vez en cuando, tenemos que contactar a la mayoría de las personas. Incluso con esos 3 casos, no quiere que queden claros en la base de datos.
Entonces se le ocurrió esto: después de normalizarlos (recortar el espacio, reducirlos y un par de conversiones más), debería hacerlos fuertes. Esto nos daría acceso a la parte de "inicio de sesión".
Después de eso, comprendió que todavía necesitamos direcciones de correo electrónico para aquellos que se registraron en el boletín. Así que sugirió mantener otro campo con una dirección de correo electrónico encriptada , pero nil para aquellos que no quieren un boletín informativo. Lo suficiente como para decirlo, la clave para descifrar la dirección de correo electrónico debe estar en el servidor, para que el proceso se pueda realizar automáticamente.
El tercer caso. Esos casos en los que realmente necesitamos contactarlos. Resulta que mantener toda la lista cifrada está bien, siempre y cuando la contraseña se almacene en papel. Esto significa que cada vez que necesitamos obtener todas las direcciones de correo electrónico, se necesita la intervención humana. Cabe destacar que las direcciones de correo electrónico están claras en la base de datos hasta que también ejecutamos un proceso en el que introducimos la "contraseña en papel", momento en el que se eliminan las direcciones de correo electrónico claras. Este proceso se realiza semanalmente, por lo que hay 6 días con una buena suma de direcciones de correo electrónico claras.
Honestamente, podría comprar la parte de hash, pero los otros dos podrían parecer más un problema para el empleado de todos los días (las búsquedas parciales de direcciones de correo electrónico también eran una cosa para buscar clientes específicos que podrían haber ingresado mal la dirección de correo electrónico en el proceso y necesitó un poco de ayuda) que para cualquier pirata informático, que de todos modos podría obtener acceso al código, o forzar la contraseña en papel.
¿Tiene sentido intentar ofuscar las direcciones de correo electrónico en ese nivel?