参考链接:MySQL :: MySQL 8.4 Reference Manual :: 14.13 Encryption and Compression Functions
MySQL默认是128bit Key的加密,如果使用192bit或者256bit的key参考如下:
默认block_encryption_mode=aes-128-ecb
SET block_encryption_mode = 'aes-256-cbc';
SET @key_str = SHA2('My secret passphrase',512);
SET @init_vector = RANDOM_BYTES(16);
SET @crypt_str = AES_ENCRYPT('text',@key_str,@init_vector);
SELECT CAST(AES_DECRYPT(@crypt_str,@key_str,@init_vector) AS CHAR);
+-------------------------------------------------------------+
| CAST(AES_DECRYPT(@crypt_str,@key_str,@init_vector) AS CHAR)
| +-------------------------------------------------------------+
| text
| +-------------------------------------------------------------+