'mysqlAES암호화'에 해당되는 글 1건

  1. 2023.03.12 mysql AES_ENCRYPT, AES_DECRYPT 함수
MySQL2023. 3. 12. 16:00

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'이라는 암복호화 키는 주고받는 쪽에서만 알고 보안이 지켜져야하며,

까먹거나 혼동하지 말것..!ㅋㅋ

 

'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
Posted by 사슴영혼'-'