加密和压缩函数

TiDB 支持使用 MySQL 8.0 中提供的大部分加密和压缩函数。

支持的函数

函数名 功能描述
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() 确定密码强度

相关系统变量

不支持的函数

  • DES_DECRYPT()、DES_ENCRYPT()、OLD_PASSWORD() 和 ENCRYPT():这些函数在 MySQL 5.7 中被废弃,并且已在 MySQL 8.0 中移除。
  • 只在 MySQL 企业版中支持的函数。见 Issue #2632。

MySQL 兼容性

  • TiDB 不支持 STATEMENT_DIGEST() 和 STATEMENT_DIGEST_TEXT() 函数。