- 2007/11/06 특정 컬럼 암호화 하기 (SQL 2005)
29세 프로그래머 » Search » Results » Articles
쿼리와 관련된 글 1개
특정 컬럼 암호화 하기 (SQL 2005)
2007/11/06 11:49
create database data_encryption
go
use data_encryption
go
create table dbo.dataSecure
(
id int identity(1,1),
data_secure varchar(20),
data_encryption varchar(100)
)
go
--데이터베이스 마스터 키 만들기
create master key encryption by password = 'pass'
go
--마스터키로부터 비대칭 키 만들기
create asymmetric key asym_Encryption_Test with algorithm = rsa_1024
go
--데이터 암호화에 사용되는 대칭 키 만들기
create symmetric key sym_Encryption_Test with algorithm = des
encryption by asymmetric key asym_Encryption_Test
go
--대칭 키 열기
open symmetric key sym_Encryption_Test decryption by asymmetric key asym_Encryption_Test
--대칭 키의 GUID 를 열고 데이터를 입력
declare @guid uniqueidentifier
set @guid = (select key_guid from sys.symmetric_keys where name = 'sym_Encryption_Test')
insert into dbo.dataSecure (data_secure, data_encryption) values ('중요한기밀내용', encryptbykey(@guid, '중요한기밀내용'))
go
--암호화된 데이터 보기
select id, data_secure, data_encryption from dbo.dataSecure
--복호화 테스트
select id, data_secure, cast(decryptbykey(data_encryption) as varchar(100)) from dataSecure
--테스트 개체 삭제
drop symmetric key sym_Encryption_Test
drop asymmetric key asym_Encryption_Test
go
use master
go
drop database data_encryption
go













RSS 2.0
Tattertools
Skin by ZF.