Encriptación de Datos en una Tabla de Sql Server
–Crear
una base de datos Create database Cosa
go
–Crear
una tabla dentro de la base de datos use cosa
go
Create table EmployeeReview
(Employeeid int not
null, reviewdate datetime default getdate() not null,
comments varchar(2000) not null
)
–Crear un
login y un user para la base de datos Use master
go
Create login HRApp with password=‘P@ssw0rd’
Use cosa
go
create user HRApp for login HrApp
–asignar permisos al user
grant select, insert, update on EmployeeReview
to HrApp
–Proceso
de encriptación con Llaves y un certificado Simetrico——— –crear
una llave maestra –(Llave
madre de todas las siguiente llaves que se creen) Create master key
encryption by password =‘P@ssw0rd’
–crear un
certificado simetrico create certificate HRAppCert
authorization
HrApp with subject=‘Hr
Certificate’ –crear la
llave simetrica basada sobre el certificado Create symmetric key Hrkey
authorization
HrApp with algorithm= Triple_Des
encryption by certificate HRAppCert
—insertar
un dato para revisar la tabla con el usuario dbo insert into EmployeeReview
(Employeeid,reviewdate ,comments
) values (1,’05-09-2012′,‘Comentario no encriptado’)
select * from EmployeeReview
–sesionar
con el usuario HRAPP y abrir la llave simetrica para –insertar un dato
execute as user =
‘HrApp’ open symmetric key Hrkey decryption by certificate HRAppCert
–insertar
un dato e encriptarlo insert into EmployeeReview
(Employeeid,reviewdate ,comments
) values (2,’05-09-2012′,encryptbykey(key_guid(‘Hrkey’),
‘Este
comentario esta encriptado’)) –cerrar
la llave Close all symmetric keys
–salir del usuario HRAPP
Revert
–consultar
la tabla select * from EmployeeReview
–desencriptar
los datos con el usuario dbo. open symmetric key HrKey decryption by certificate HrAppCert
select convert(varchar, decryptbykey(comments)) as comentario
from EmployeeReview
close all symmetric keys
|