--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
|
jueves, 10 de mayo de 2012
Encriptar Datos en una Tabla en SQL Server
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario