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

Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

Estas en el tema de Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008 en el foro de Bases de Datos General en Foros del Web. Buenas amigos me pueden ayudar con lo siguiente. Tengo varias tablas y necesito encriptar las columnas referentes a dinero como ser sueldo (type money) he ...
  #1 (permalink)  
Antiguo 02/10/2015, 11:11
 
Fecha de Ingreso: septiembre-2015
Ubicación: Choluteca
Mensajes: 6
Antigüedad: 8 años, 6 meses
Puntos: 0
Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

Buenas amigos me pueden ayudar con lo siguiente.
Tengo varias tablas y necesito encriptar las columnas referentes a dinero como ser sueldo (type money) he intentado de varias maneras pero muestra un error.. lo que tengo es algo similar :

Código SQL:
Ver original
  1. INSERT INTO empleado(idempleado, empleado, sueldo, propiedades)  
  2. VALUES('1022','pedro',ENCRYPTBYPASSPHRASE('12', '20000'), ENCRYPTBYPASSPHRASE('12', 'casi'))
  3.  
  4. SELECT empleado, DECRYPTBYPASSPHRASE('12', propiedades) AS propiedades
  5. FROM empleado
  6. WHERE idempleado=1022

espero logren ayudarme.

Última edición por gnzsoloyo; 02/10/2015 a las 11:31
  #2 (permalink)  
Antiguo 03/10/2015, 11:59
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

y cual es el error???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 05/10/2015, 14:40
 
Fecha de Ingreso: septiembre-2015
Ubicación: Choluteca
Mensajes: 6
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

El error que muesta es el siguiente:

Msg 2627, Level 14, State 1, Line 1
Violation of PRIMARY KEY constraint 'PK_empleado'. Cannot insert duplicate key in object 'dbo.empleado'.
The statement has been terminated.

(1 row(s) affected)
  #4 (permalink)  
Antiguo 05/10/2015, 14:47
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

pues eso no tiene nada que ver con la ecnriptacion, ese error es que estas queriendo meter un valor duplicado en una llave primaria.....
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 05/10/2015, 15:06
 
Fecha de Ingreso: septiembre-2015
Ubicación: Choluteca
Mensajes: 6
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

Perdon me equivoque de mensaje, lo que muestra es otra cosa.
al encriptarlo me sale bien pero al momento de hacer el select

SELECT empleado, DECRYPTBYPASSPHRASE('12', sueldo) AS sueldo
FROM empleado
WHERE idempleado=1023

me da error si lo hago con sueldo, este error :

Msg 8116, Level 16, State 1, Line 1
Argument data type money is invalid for argument 2 of DecryptByPassPhrase function.


y si el select lo hago con otro campo varchar me hace la consulta pero lo que me muestra como resultado es lo siguiente:

empleado propiedades
pedro 0x63617369
  #6 (permalink)  
Antiguo 05/10/2015, 15:10
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Encriptar y Desencriptar columnas Sueldo empleado SQL SERVER 2008

tendrias que convertir tu valor a varchar y despues encriptarlo, tal y como lo dice l siguiente liga:

https://social.msdn.microsoft.com/Fo...rum=sqlexpress
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: encriptado, encriptar, sql-server-2008
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 19:06.