Siempre he entendido NO USAR La funcionalidad de encriptación incorporada de MySQL porque el punto de encriptación de datos en reposo (en SQL) es que si el servidor está comprometido, los datos no corren [tanto] riesgo.
El problema con la funcionalidad incorporada de MySQL es que no se aplica cuando los datos se pasan hacia y desde el "en reposo " estado, por lo que el texto sin formato de cualquier dato se puede registrar en los registros de MySQL (y en cualquier otra parte del sistema de almacenamiento, como las búsquedas de consultas no están cifradas, por lo que puede consultar numerosas búsquedas y su count
los resultados deducen los valores de la columna) antes/mientras se cifra. Puede leer más sobre esto aquí
.
Por lo que he leído en mi propia investigación sobre este tema, el enlace proporcionado por Magnus a defuse/php -cifrado es una de las mejores formas de evitar que MySQL haga que comprometa sus datos, ya que nunca permite que el programa/servidor MySQL vea el valor de texto sin formato de sus datos.