MSSQL 에서 데이터를 암호화/복호화를 해보려고 한다.
함수는 아래와 같다
암호화 : ENCRYPTBYKEY
복호화 : DECRYPTBYKEY
1. 대칭키, 인증서 생성
-- 대칭 키 생성
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'EncPassword';
CREATE CERTIFICATE CertTest WITH SUBJECT = 'SymmetricKey';
-- 대칭 키 생성 및 암호화
CREATE SYMMETRIC KEY SymmetricKeyTest
WITH ALGORITHM = AES_256
ENCRYPTION BY CERTIFICATE CertTest;
2. 암호화 / 복호화
-- 암호화된 데이터 출력
DECLARE @encryptedData VARBINARY(MAX) = ENCRYPTBYKEY(KEY_GUID('SymmetricKeyTest'), 'encData');
SELECT @encryptedData;
-- 복호화된 데이터 출력
DECLARE @decryptedData NVARCHAR(MAX) = CAST(DECRYPTBYKEY(@decryptedData) AS NVARCHAR(MAX));
SELECT @decryptedData;
이제 암호화 / 복호화 하여 데이터를 저장, 조회 할 수 있다.
'개발 > etc' 카테고리의 다른 글
| [가상머신] VMWare 가상머신 삭제 (0) | 2025.10.29 |
|---|---|
| [VSCode] C언어 설정 (0) | 2025.10.28 |
| [가상머신] VMware 설치 1 - 다운로드 (0) | 2025.10.27 |
| [리눅스] date: extra operand ‘%Y%m%d’ (2) | 2025.08.05 |
| [리눅스] You have new mail in /var/spool/mail/root (1) | 2025.06.10 |