메인 콘텐츠로 건너뛰기
이 함수는 AES(Advanced Encryption Standard) 알고리즘으로 데이터를 암호화하고 복호화합니다. 키 길이는 암호화 모드에 따라 달라집니다. -128-, -196-, -256- 모드의 키 길이는 각각 16, 24, 32바이트입니다. 초기화 벡터 길이는 항상 16바이트입니다(16바이트를 초과하는 바이트는 무시됩니다).

HMAC

도입 버전: v25.12.0 지정된 해시 알고리즘과 비밀 키를 사용해 주어진 메시지에 대한 HMAC(Hash-based Message Authentication Code)를 계산합니다. 지원되는 해시 알고리즘:
  • blake2b512
  • blake2s256
  • md4
  • md5
  • md5-sha1
  • mdc2
  • ripemd (별칭: RIPEMD160, ripemd)
  • ripemd160
  • rmd160 (별칭: RIPEMD160, rmd160)
  • sha1
  • sha224
  • sha256
  • sha3-224
  • sha3-256
  • sha3-384
  • sha3-512
  • sha384
  • sha512
  • sha512-224
  • sha512-256
  • shake128
  • shake256
  • sm3
  • ssl3-md5 (별칭: MD5, ssl3-md5)
  • ssl3-sha1 (별칭: SHA1, ssl3-sha1)
  • whirlpool
구문
인수
  • mode — 해시 알고리즘 이름입니다(대소문자 구분 없음). 지원되는 값: md5, sha1, sha224, sha256, sha384, sha512. String
  • message — 인증할 메시지입니다. String
  • key — HMAC에 사용할 시크릿 키입니다. String
반환 값 HMAC 다이제스트가 포함된 바이너리 문자열을 반환합니다. String 예시 기본 HMAC-SHA256
Query
Response
다양한 해시 알고리즘
Query
Response
대소문자를 구분하지 않는 모드
Query
Response

aes_decrypt_mysql

도입 버전: v20.12.0 MySQL의 AES_ENCRYPT 함수로 암호화된 데이터를 복호화합니다. 동일한 입력에 대해서는 decrypt와 같은 평문을 생성합니다. key 또는 iv가 일반적으로 필요한 길이보다 길면, aes_decrypt_mysql은 MySQL의 aes_decrypt와 동일하게 동작하여 key를 “fold”하고 IV의 초과 비트는 무시합니다. 다음 복호화 모드를 지원합니다.
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-cfb128
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
구문
인수
  • mode — 복호화 모드. String
  • ciphertext — 복호화할 암호문. String
  • key — 복호화 키. String
  • iv — 선택 사항. 초기화 벡터. String
반환 값 복호화된 String을 반환합니다. String 예시 MySQL 데이터 복호화
Query
Response

aes_encrypt_mysql

도입 버전: v20.12.0 MySQL의 AES_ENCRYPT 함수와 동일한 방식으로 텍스트를 암호화합니다. 생성된 암호문은 MySQL의 AES_DECRYPT 함수로 복호화할 수 있습니다. 동일한 입력에 대해서는 encrypt 함수와 같은 암호문을 생성합니다. key 또는 iv가 일반적으로 필요한 길이보다 길면, aes_encrypt_mysql은 MySQL의 aes_encrypt와 동일하게 동작하며 key는 ‘fold’ 처리하고 iv의 초과 비트는 무시합니다. 지원되는 암호화 모드는 다음과 같습니다.
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
구문
인수
  • mode — 암호화 모드입니다. String
  • plaintext — 암호화할 텍스트입니다. String
  • key — 암호화 키입니다. 키 길이가 mode에 필요한 길이보다 길면 MySQL 전용 키 폴딩이 수행됩니다. String
  • iv — 선택 사항입니다. 초기화 벡터입니다. 처음 16바이트만 사용됩니다. String
반환 값 암호문인 바이너리 문자열입니다. String 예시 동일한 입력 비교
Query
Response
키가 길면 암호화에 실패함
Query
Response
MySQL 호환성
Query
Response
더 긴 IV도 동일한 결과를 냅니다
Query
Response

decrypt

도입 버전: v20.12.0 이 함수는 다음 모드에서 AES로 암호화된 바이너리 문자열을 복호화합니다.
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
구문
인수
  • mode — 복호화 모드입니다. String
  • ciphertext — 복호화할 암호문입니다. String
  • key — 복호화 키입니다. String
  • iv — 초기화 벡터입니다. -gcm 모드에서는 필수이고, 그 외 모드에서는 선택 사항입니다. String
  • aad — 추가 인증 데이터입니다. 이 값이 올바르지 않으면 복호화할 수 없습니다. -gcm 모드에서만 동작하며, 그 외 모드에서는 예외가 발생합니다. String
반환 값 복호화된 평문을 반환합니다. String 예시 암호화된 데이터를 올바르게 복호화하기
Query
Response
암호화된 데이터를 잘못 복호화하는 경우
Query
Response

encrypt

도입 버전: v20.12.0 다음 AES 모드 중 하나를 사용해 평문을 암호문으로 암호화합니다:
  • aes-128-ecb, aes-192-ecb, aes-256-ecb
  • aes-128-cbc, aes-192-cbc, aes-256-cbc
  • aes-128-ofb, aes-192-ofb, aes-256-ofb
  • aes-128-gcm, aes-192-gcm, aes-256-gcm
  • aes-128-ctr, aes-192-ctr, aes-256-ctr
  • aes-128-cfb, aes-128-cfb1, aes-128-cfb8
구문
인수
  • mode — 암호화 모드입니다. String
  • plaintext — 암호화할 텍스트입니다. String
  • key — 암호화 키입니다. String
  • iv — 초기화 벡터입니다. -gcm 모드에서는 필수이며, 다른 모드에서는 선택 사항입니다. String
  • aad — 추가 인증 데이터입니다. 이 값은 암호화되지는 않지만 복호화에 영향을 줍니다. -gcm 모드에서만 작동하며, 다른 모드에서는 예외가 발생합니다. String
반환 값 바이너리 문자열인 암호문을 반환합니다. String 예시 암호화 예시
Query
Response
GCM 모드 사용 예시
Query
Response

tryDecrypt

도입 버전: v22.10.0 decrypt 함수와 유사하지만, 잘못된 키를 사용해 복호화에 실패한 경우 NULL을 반환합니다. 구문
인수
  • mode — 복호화 모드입니다. String
  • ciphertext — 복호화할 암호문입니다. String
  • key — 복호화 키입니다. String
  • iv — 선택 사항입니다. 초기화 벡터입니다. -gcm 모드에서는 필수이고, 다른 모드에서는 선택 사항입니다. String
  • aad — 선택 사항입니다. 추가 인증 데이터입니다. 이 값이 올바르지 않으면 복호화할 수 없습니다. -gcm 모드에서만 작동하며, 다른 모드에서는 예외가 발생합니다. String
반환 값 복호화된 String을 반환합니다. 복호화에 실패하면 NULL을 반환합니다. Nullable(String) 예시 테이블 생성 및 데이터 삽입
Query
Response
마지막 수정일 2026년 6월 10일