/********************************************************************************************
-- Title : [SQL2008] Transparent Database Enctyption 아키텍처
-- Reference : 웹서핑, purumae.tistory.com
-- Key word : master key certificate key symmetric key encryption decryption 암호화 복호화
********************************************************************************************/
Reference : purumae.tistory.com
CREATE CERTIFICATE CertKeyProtection
WITH SUBJECT = 'Key Protection'
, START_DATE = '2009/07/15'
, EXPIRY_DATE = '2012/07/14';
2. 인증서로 암호화한 대칭키를 생성합니다.
CREATE SYMMETRIC KEY KeyUserData
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE CertKeyProtection;
3. 대칭키로 데이터를 암호화합니다.
OPEN SYMMETRIC KEY KeyUserData
DECRYPTION BY CERTIFICATE CertKeyProtection;
SELECT EncryptByKey(Key_GUID('KeyUserData'), N'암호화할 문자열');
4. 대칭키로 데이터를 복호화합니다.
SELECT CAST(DecryptByKey(<암호화된 바이너리>) AS nvarchar(max));
CLOSE SYMMETRIC KEY KeyUserData;