- https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_aes-encrypt
- AES_ENCRYPT(str,key_str[,init_vector])
- https://dev.mysql.com/doc/refman/8.0/en/encryption-functions.html#function_aes-decrypt
- AES_DECRYPT(crypt_str,key_str[,init_vector])
- AES 기본 모드
- AES모드 변경법
- SET block_encryption_mode = 'aes-256-cbc';
- 중간 숫자가 높아지만 보안이 높아지고, 성능이 낮아진다.
- 뒤의 CBC는 AES 암호화 모드 이야기
- ECB, CBC, CFB1, CFB8, CFB128, OFB.
- init_vector
- MySQL 지원 버전은 5.6.17 이상이다.
- ECB모드는 없어도 동작한다.
- 암호화된 결과 값 길이
- 16 * (trunc(string_length / 16) + 1)
- HEX처리하는 이유는?
- 처리결과는 binary라서 문자열로 바꾸기 위해서
SET @ek = 'gksmfdlshvek'; # AES 암호용 키 선언
SELECT HEX(AES_ENCRYPT('믿을 수 있나요? 나에 꿈 속에서',@ek)) FROM DUAL
UNION ALL
SELECT AES_DECRYPT(UNHEX( HEX(AES_ENCRYPT('믿을 수 있나요? 나에 꿈 속에서',@ek)) ),@ek) FROM DUAL;