Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Uso de Encryptbypassphrase y Decryptbypasphrase

Estas en el tema de Uso de Encryptbypassphrase y Decryptbypasphrase en el foro de SQL Server en Foros del Web. Usar EncriptByPassphrase y DecryptByPassphrase Hola, deseo aplicarle las funciones EncryptByPassphrase y DecryptByPassphrase a determinados campos de algunas tablas de mi BD. Pongo un ejemplo concreto: ...
  #1 (permalink)  
Antiguo 01/02/2016, 15:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Uso de Encryptbypassphrase y Decryptbypasphrase

Usar EncriptByPassphrase y DecryptByPassphrase

Hola, deseo aplicarle las funciones EncryptByPassphrase y DecryptByPassphrase a determinados campos de algunas tablas de mi BD. Pongo un ejemplo concreto:
La tabla productor almacena el codificador de los mismos, y el usuario desde la aplicación siempre realiza las búsquedas del productor por su código, en la misma quiero encriptar las columnas codigo y nombre.
(una estructura simple de la tabla productor)
Código SQL:
Ver original
  1. tabla productor
  2.     id_productor  autoincrementable
  3.     codigo VARCHAR(8)
  4.     nombre VARCHAR(100)
  5.     codigo_sucursar_bancaria VARCHAR(5)

Las funciones Encrypt… y Decrypt… tienen un parámetro authenticator que deseo emplear, para este ejemplo en concreto se pudiera pensar en usar el id del propio productor, pero me lleva a pensar que debo primeramente hacer un insert en limpio con los datos y por consiguiente un update para completar la operación del Encrypt…, la idea es tener el id del nuevo registro para usarlo como authenticator.
Esa es la idea que tengo, en cuanto a la operación de inserción. Quisiera su sugerencia.

Ahora, el otro tema relacionado, es en cuanto a las búsquedas que se realizan desde los clientes a esta tabla en base al código del productor.

Código SQL:
Ver original
  1. SELECT nombre FROM dbo.productor p
  2. INNER JOIN zafra z ON p.zafra_id = z.id_zafra
  3. WHERE
  4.  (z.id_zafra = @zId)
  5.  AND  (CONVERT(VARCHAR(8),  DecryptByPassphrase(‘m1 palabra s3cre3tA’, p.codigo,  1, CONVERT(varbinary, p.id_productor)) = @codigo)

Y por supuesto, cualquier consulta que realice y que necesite extraer el código y nombre de los productores (ejemplo para los reportes), debo aplicarle Decrypt... en base a su id_productor.

Realmente no se cuan eficiente sea esto que estoy planteando, pero si me solicitan debo proteger estas tablas, al menos para que no se sepa de quien son los registros asociados al codificador.

Última edición por X_fran; 01/02/2016 a las 15:39
  #2 (permalink)  
Antiguo 01/02/2016, 15:47
 
Fecha de Ingreso: octubre-2007
Mensajes: 273
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Uso de Encryptbypassphrase y Decryptbypasphrase

Weno, analizando un poco, creo que lo mejor es usar como authenticator una frase cualquiera que también será secreta, y no tnego que lidiar con el problema de las columnas autoincrementables; así como tener en cuenta el arreglo a las longitudes de las columnas a encriptar y cambiarlas posiblemente a varbinary

Etiquetas: estructura, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:56.