加密和压缩函数
TiDB 支持使用 MySQL 5.7 中提供的大部分加密和压缩函数。
支持的函数
| 函数名 | 功能描述 | 
|---|---|
MD5()                                                             | 计算字符串的 MD5 校验和 | 
PASSWORD() | 计算并返回密码字符串 | 
RANDOM_BYTES() | 返回随机字节向量 | 
SHA1(), SHA()                                                   | 计算 SHA-1 160 位校验和 | 
SHA2()                                                           | 计算 SHA-2 校验和 | 
SM3()                                                           | 计算 SM3 校验和(MySQL 中暂不支持该函数) | 
AES_DECRYPT() | 使用 AES 解密 | 
AES_ENCRYPT() | 使用 AES 加密 | 
COMPRESS() | 返回经过压缩的二进制字符串 | 
UNCOMPRESS() | 解压缩字符串 | 
UNCOMPRESSED_LENGTH()                             | 返回字符串解压后的长度 | 
VALIDATE_PASSWORD_STRENGTH() | 确定密码强度 | 
相关系统变量
block_encryption_mode 变量设置 AES_ENCRYPT() 和 AES_DECRYPT() 所使用的加密模式。
不支持的函数
DES_DECRYPT()、DES_ENCRYPT()、OLD_PASSWORD()和ENCRYPT():这些函数在 MySQL 5.7 中被废弃,并且已在 MySQL 8.0 中移除。- 只在 MySQL 企业版中支持的函数。见 Issue #2632。