Tengo algunas columnas de base de datos que están cifradas. Obviamente, no hay forma de filtrarlos por valor de texto plano. Como los datos almacenados en la base de datos se combinan con la IV, no hay manera de recrear el texto cifrado.
El valor en la base de datos se crea así:
db_value = base64(json([iv, cypher, mac]))
... así que sin el IV, no puedo crear db_value
. Y no puedo encontrar la IV sin leer db_value.
Podría solucionar esto creando otra columna para almacenar un hash de los datos.
¿Es esta una mala idea? ¿Mantener los datos en múltiples formatos como este lo haría menos seguro?