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]
복호화했을시의 결과값
추가정보
'데이터베이스 > MSSQL' 카테고리의 다른 글
컴퓨터에 api-ms-win-crt-runtime-l1-1-0.dll이(가) 없어 프로그램을 시작할 수 없습니다. (0) | 2020.03.06 |
---|---|
데이터베이스에 대한 배타적 잠금을 얻을 수 없습니다. (0) | 2019.07.22 |
geography 자료형 (0) | 2019.02.28 |
저번달 1일 마지막일 이번달 1일 마지막일 (0) | 2018.12.20 |
날짜 쿼리 이번달 (0) | 2018.11.27 |