29세 프로그래머

blog logo image

29세 프로그래머 » Search » Results » Articles

쿼리와 관련된 글 1개

  1. 2007/11/06 특정 컬럼 암호화 하기 (SQL 2005)

29세 프로그래머 » 프로그래밍

특정 컬럼 암호화 하기 (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

2007/11/06 11:49 2007/11/06 11:49


태그 , ,

(go to top)