728x90
반응형
SMALL
mysql는 기본 AES 암호화, 복호화 펑션을 가지고 있다.
기본적으로는 128비트 길이 인코딩이고, 소스를 수정해서 256비트까지 확장이 가능하다고..
AES_ENCRYPT는 암호화하고 바이너리 문자열을 반환하는데, DB에 저장하기 위해 HEX로 저장하고 복호화하여 사용한다.
여기서 'deersoul'은 암복호화에 사용할 키이다.
# AES_ENCRYPT 암호화
INSERT INTO table_name VALUE (HEX(AES_ENCRYPT('사슴 홀리','deersoul')));
// 결과: 72F878E04C1760A5570BBD698C5ADE0E
# AES_DECRYPT 복호화
SELECT AES_DECRYPT(UNHEX('72F878E04C1760A5570BBD698C5ADE0E'), 'deersoul') FROM table_name;
// 결과 : 사슴 홀리
+ 추가)
암호화 형식 변수 바꾸기
-- 128 키 길이
mysql> SET block_encryption_mode = 'aes-128-cbd';
-- 256 키 길이
mysql> SET block_encryption_mode = 'aes-256-cbd';
'deersoul'이라는 암복호화 키는 주고받는 쪽에서만 알고 보안이 지켜져야하며,
까먹거나 혼동하지 말것..!ㅋㅋ
728x90
반응형
LIST
'MySQL' 카테고리의 다른 글
sql에서 전화번호 하이픈 적용 (0) | 2023.03.13 |
---|---|
MYSQL - SQL로 나이(age) 계산하기 (0) | 2023.03.12 |
mysql 언어 인코딩 설정 (0) | 2023.03.12 |
mysql 날짜 더하기 빼기 date_add (0) | 2023.03.12 |
MySQL 자정 시간 계산하기 (0) | 2023.03.12 |