1. 마스터키 생성/ 백업 / 복원 / 조회
1) 생성
- CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Pwd_Create_Master';
2) 백업
- OPEN MASTER KEY DECRYPTION BY PASSWORD = 'Pwd_Create_Master';
- BACKUP MASTER KEY TO FILE = 'C:\MasterKey' ENCRYPTION BY PASSWORD = 'Pwd_Backup_Master';
3) 복원
- RESTORE MASTER KEY FROM FILE = 'C:\MasterKey';
4) 조회
- SELECT * FROM sys.symmetric_keys
2. 인증서 생성 / 조회 / 삭제
1) 생성
- CREATE CERTIFICATE Certificate_Create_name ENCRYPTION BY PASSWORD = 'Pwd_Create_Cert'
WITH SUBJECT = '인증서제목', EXPIRY_DATE = '12/31/2050';
2) 조회
- SELECT * FROM sys.certificates;
3) 삭제
- DROP CERTIFICATE Certificate_Create_name;
3. 대칭키 생성 / 조회 / OPEN / CLOSE
1) 생성
- CREATE SYMMETRIC KEY Create_Key_name
WITH ALGORITHM = AES_128
ENCRYPTION BY CERTIFICATE Certificate_Create_name;
2) 조회
- SELECT * FROM sys.symmetric_keys;
3) OPEN
- OPEN SYMMETRIC KEY Create_Key_name DECRYPTION BY CERTIFICATE Certificate_Create_name;
4) CLOSE
- CLOSE SYMMETRIC KEY Create_Key_name;
4. 암호화 / 복호화
1) 암호화
- SELECT EncryptByKey(Key_GUID('Create_Key_name'), '암호화할데이터');
2) 복호화
- CONVERT(varchar, DECRYPTBYKEY('복호화할데이터'));
* 암호화 된 데이터는 VARBINARY에 담아야하며, MAX로 지정해줘야 데이터가 짤리지 않음.