Cifrado para preservar el formato del servidor SQL

0

Tengo un sistema antiguo con una base de datos que tiene una tabla con una columna de tipo char (20) y el cliente decidió cifrar esa columna para algunas necesidades comerciales. Sin embargo, para cierta integración del sistema, la longitud de la columna de salida debe ser similar a la entrada que es 20 y he leído sobre cifrado para preservar el formato

Mi pregunta es: ¿el cifrado que conserva el formato es tan fuerte como los métodos AES y aún existen implementaciones de SQL Server que se pueden usar con una gran cantidad de registros de millones?

    
pregunta Hossam Barakat 16.05.2015 - 01:15
fuente

2 respuestas

1

Creo que su principal problema sería implementar el cifrado de preservación de formato en la base de datos.

Simplemente puedes usar AES en el campo. Consulte, por ejemplo, las funciones de cifrado compatibles con MySQL. Para una entrada de 20 bytes, aes_encrypt() de salida serían 32 caracteres binarios (AES funciona en bloques de 16 bytes). Puede acercarse (25) con el des_encrypt() menos seguro (y en desuso). Si no necesita un cifrado seguro, MariaDB presenta una encode () función que puede hacer el trabajo, que mantendría la misma longitud.

El principal problema es que este método de encriptación generaría bytes binarios (el servidor no tendría ningún problema), pero eso puede ser indeseable para los clientes (o simplemente para proporcionar una salida). Codificarlo en base64 (33% de sobrecarga) es probablemente aceptable en tal caso.

    
respondido por el Ángel 26.05.2015 - 00:43
fuente
0

Tal vez podrías hacer algo como esto, asumiendo que no quieres o no puedes cambiar tu aplicación:

  • cambiar el nombre de la tabla a otra cosa, por ejemplo, los clientes se convierten en clientes_0
  • aumentar el tamaño de las columnas para acomodar el texto cifrado y la bandera de cifrado
  • crear una vista Clientes basados en Customers_0 que descifran
    columna
  • crear en lugar de desencadenantes en la vista para cifrar los datos de columna cuando se actualizan o insertan.
respondido por el Neil Weicher 27.03.2018 - 14:57
fuente

Lea otras preguntas en las etiquetas