DataBaseManagementSystem/MSSQL
MSSQL Server 데이터베이스 대칭키 Symmetric Key 암호화
코딩하는고릴라
2016. 6. 3. 16:14
반응형
대칭 키 암호화방식은
하나의 키로 암호화 복호화 할 수 있는 암호화방식이다.
예를들어,
물건이 데이터라고 할 때,
사물함에 물건을 넣을때는 안전하게 열쇠나 비밀번호로 잠근다.
그리고 다시 그 물건을 찾으려고 할때는 동일한 하나의 열쇠나 비밀번호로 연다.
이것이 바로 대칭키 암호화방식이다.
대칭키 암호화방식에도 종류가 좀 있는걸로 알고 있는데
, 최근쓰는건 AES라고 향상된 대칭암호화알고리즘 방식이 쓰인다.
그중에서도 mssql 에서는 AES_256방식을 사용한다고한다. XP나 server2000에서는 AES암호화 알고리즘 지원이안된다니 주의!
--열쇠를 만든다
--데이터베이스 마스터 키 생성
CREATE MASTER KEY ENCRYPTION BY PASSWORD='비밀번호';
GO
--인증서 생성
CREATE CERTIFICATE 인증서이름
--키 생성
CREATE SYMMETRIC KEY 키이름
ENCRYPTION BY CERTIFICATE 인증서이름
--암호화 키와 인증서 준비한다.
OPEN SYMMETRIC KEY 키이름
DECRYPTION BY CERTIFICATE 인증서이름 WITH PASSWORD ='비밀번호';
DECLARE @물건 NVARCHAR(100)
--암호화
SELECT @물건 = ENCRYPTBYKEY (key_guid('키이름'), '과자, 스테이크, 오만원짜리 돈뭉치들')
--복호화
SELECT CONVERT(nvarchar(100), DECRYPTBYKEY(@물건))
--결과값
-----'과자, 스테이크, 오만원짜리 돈뭉치들'
반응형