-128-, -196-, -256- 모드의 키 길이는 각각 16, 24, 32바이트입니다.
초기화 벡터 길이는 항상 16바이트입니다(16바이트를 초과하는 바이트는 무시됩니다).
HMAC
- 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.Stringmessage— 인증할 메시지입니다.Stringkey— HMAC에 사용할 시크릿 키입니다.String
String
예시
기본 HMAC-SHA256
Query
Response
Query
Response
Query
Response
aes_decrypt_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
String
예시
MySQL 데이터 복호화
Query
Response
aes_encrypt_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— 암호화 모드입니다.Stringplaintext— 암호화할 텍스트입니다.Stringkey— 암호화 키입니다. 키 길이가mode에 필요한 길이보다 길면 MySQL 전용 키 폴딩이 수행됩니다.Stringiv— 선택 사항입니다. 초기화 벡터입니다. 처음 16바이트만 사용됩니다.String
String
예시
동일한 입력 비교
Query
Response
Query
Response
Query
Response
Query
Response
decrypt
- 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— 복호화 모드입니다.Stringciphertext— 복호화할 암호문입니다.Stringkey— 복호화 키입니다.Stringiv— 초기화 벡터입니다.-gcm모드에서는 필수이고, 그 외 모드에서는 선택 사항입니다.Stringaad— 추가 인증 데이터입니다. 이 값이 올바르지 않으면 복호화할 수 없습니다.-gcm모드에서만 동작하며, 그 외 모드에서는 예외가 발생합니다.String
String
예시
암호화된 데이터를 올바르게 복호화하기
Query
Response
Query
Response
encrypt
- 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— 암호화 모드입니다.Stringplaintext— 암호화할 텍스트입니다.Stringkey— 암호화 키입니다.Stringiv— 초기화 벡터입니다.-gcm모드에서는 필수이며, 다른 모드에서는 선택 사항입니다.Stringaad— 추가 인증 데이터입니다. 이 값은 암호화되지는 않지만 복호화에 영향을 줍니다.-gcm모드에서만 작동하며, 다른 모드에서는 예외가 발생합니다.String
String
예시
암호화 예시
Query
Response
Query
Response
tryDecrypt
decrypt 함수와 유사하지만, 잘못된 키를 사용해 복호화에 실패한 경우 NULL을 반환합니다.
구문
mode— 복호화 모드입니다.Stringciphertext— 복호화할 암호문입니다.Stringkey— 복호화 키입니다.Stringiv— 선택 사항입니다. 초기화 벡터입니다.-gcm모드에서는 필수이고, 다른 모드에서는 선택 사항입니다.Stringaad— 선택 사항입니다. 추가 인증 데이터입니다. 이 값이 올바르지 않으면 복호화할 수 없습니다.-gcm모드에서만 작동하며, 다른 모드에서는 예외가 발생합니다.String
NULL을 반환합니다. Nullable(String)
예시
테이블 생성 및 데이터 삽입
Query
Response