¿Como Encriptar los datos en SQL Server Express?

21/03/2006 - 13:29 por José Cepeda | Informe spam
Como puedo encriptar la data en SQL Express, por si a caso me roban un
backup o la base de datos y asi no puedan ver la informacion que hay.
 

Leer las respuestas

#1 Maxi
21/03/2006 - 13:36 | Informe spam
En SQL2005 hay varias maneras de hacer esto, te paso una y su ejemplo:

==



USE DEMO
GO


-
-

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'aBc3J98asdf'
GO


-
-

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'aBc3J98asdf'
GO

CREATE CERTIFICATE Certificado_DEMO
WITH Subject = 'DEMO de Certificado'
GO

CLOSE MASTER KEY
GO


-
-

CREATE TABLE dbo.TABLA_EJEMPLO (
ID_CLIENTE INT ,
NOMBRE VARCHAR ( 30 ),
CIUDAD VARCHAR ( 20 ),
NOMBRE_TARJETA_CREDITO VARBINARY ( 300 ),
NUMERO_TARJETA_CREDITO VARBINARY ( 300 ),
NOTAS VARBINARY ( 4000 ),
)
GO


-
-

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'aBc3J98asdf'
GO

INSERT INTO dbo.TABLA_EJEMPLO
VALUES ( 1,
'Diego Perez' ,
'Buenos Aires',
EncryptByCert( Cert_ID( 'Certificado_DEMO' ),
),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ),
'1234-5678-9009-8765' ),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), 'Es buen
ente.' ) )

INSERT INTO dbo.TABLA_EJEMPLO
VALUES ( 2,
'Emilio Boucau',
'Buenos Aires' ,
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), 'American
ess' ),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ),
4-567890-0987' ),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), 'Es un cliente
nuevo.' ) )

INSERT INTO dbo.TABLA_EJEMPLO
VALUES ( 3,
'Jose Hernandez',
'Buenos Aires' ,
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), 'Mastercard' ),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), '1234-567-8900' ),
EncryptByCert( Cert_ID( 'Certificado_DEMO' ), 'Es buen
cliente.' ) )


CLOSE MASTER KEY
GO


-
-
SELECT ID_CLIENTE ,
NOMBRE ,
CIUDAD ,
NOMBRE_TARJETA_CREDITO,
NUMERO_TARJETA_CREDITO,
NOTAS

FROM dbo.TABLA_EJEMPLO
GO


-
-
SELECT ID_CLIENTE ,
NOMBRE ,
CIUDAD ,
Convert( VARCHAR, DecryptByCert( Cert_ID( 'Certificado_DEMO' ),
NOMBRE_TARJETA_CREDITO ) ),
Convert( VARCHAR, DecryptByCert( Cert_ID( 'Certificado_DEMO' ),
NUMERO_TARJETA_CREDITO ) ),
Convert( VARCHAR, DecryptByCert( Cert_ID( 'Certificado_DEMO' ),
) )

FROM dbo.TABLA_EJEMPLO
GO



-
-
DROP TABLE dbo.TABLA_EJEMPLO
DROP CERTIFICATE Certificado_DEMO
DROP MASTER KEY
GO


Salu2
Maxi [MVP SQL SERVER]
www.sqlgurus.org


"José Cepeda" escribió en el mensaje
news:
Como puedo encriptar la data en SQL Express, por si a caso me roban un
backup o la base de datos y asi no puedan ver la informacion que hay.


Preguntas similares