본문 바로가기
DataBase/MS-SQL

MS-SQL Server 2005 암/복호화

by Dev. Jkun 2011. 4. 7.
반응형
-- 데이터베이스 마스터 키 생성

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '암호'
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')

SELECT '1111-2222-3333-4444' as 원본, EncryptByKey(@GUID, '1111-2222-3333-4444') as 암호화

-- 복호화 테스트
SELECT CAST(DecryptByKey(EncryptByKey(@GUID, '1111-2222-3333-4444')) as VARCHAR(20)) as 복호화
반응형

댓글