OPEN SYMMETRIC KEY 를통한 암호화 복호
1. MASTER KEY 생성
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '원하는비밀번호입력'
2. CERTIFICATE 생성
CREATE CERTIFICATE naitasCert WITH SUBJECT = '인증서입니다.';
3. SYMMETRIC KEY 생성
ALGORITHM의 경우 원하는 알고리즘을 결정할것 나의경우 AES_256을선택
CREATE SYMMETRIC KEY naitasKey WITH ALGORITHM = AES_256 ENCRYPTION BY CERTIFICATE naitasCert ;
4. 데이터베이스에 자료형은?
member라는 임시테이블생성
자료형의 경우 varbinary를 쓴다.
varbinary 256
5. SYMMETRIC KEY를 사용시 OPEN로 해당내용을 열고 CLOSE로 닫는다
OPEN SYMMETRIC KEY [naitasKey] DECRYPTION BY CERTIFICATE [naitasCert]
CLOSE SYMMETRIC KEY [naitasKey]
6. 내용삽입 encryptbykey를 이용하여 내용추가
OPEN SYMMETRIC KEY [naitasKey] DECRYPTION BY CERTIFICATE [naitasCert]
INSERT INTO member (mem_id) VALUES (encryptbykey(Key_GUID('naitasKey'), N'testab'))
CLOSE SYMMETRIC KEY [naitasKey]
7. 복호화 decryptbykey 를 통해서 복호화한다.
OPEN SYMMETRIC KEY [naitasKey] DECRYPTION BY CERTIFICATE [naitasCert]
SELECT * FROM member
CLOSE SYMMETRIC KEY [naitasKey]
그냥 select했을경우 해당내용을 확인이 불가능하다.
OPEN SYMMETRIC KEY [naitasKey] DECRYPTION BY CERTIFICATE [naitasCert]
SELECT *,convert( NVARCHAR(100), decryptbykey(mem_id)) FROM member
CLOSE SYMMETRIC KEY [naitasKey]
복호화했을시의 결과값
추가정보