加密和压缩函数

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

支持的函数

函数名 功能描述
MD5() 计算字符串的 MD5 校验和
PASSWORD() 计算并返回密码字符串
RANDOM_BYTES() 返回随机字节向量
SHA1(), SHA() 计算 SHA-1 160 位校验和
SHA2() 计算 SHA-2 校验和
AES_DECRYPT() 使用 AES 解密
AES_ENCRYPT() 使用 AES 加密
COMPRESS() 返回经过压缩的二进制字符串
UNCOMPRESS() 解压缩字符串
UNCOMPRESSED_LENGTH() 返回字符串解压后的长度
CREATE_ASYMMETRIC_PRIV_KEY() 创建私钥
CREATE_ASYMMETRIC_PUB_KEY() 创建公钥
CREATE_DH_PARAMETERS() 创建 DH 共享密钥
CREATE_DIGEST() 从字符串创建摘要
ASYMMETRIC_DECRYPT() 使用公钥或私钥解密密文
ASYMMETRIC_DERIVE() 从非对称密钥导出对称密钥
ASYMMETRIC_ENCRYPT() 使用公钥或私钥加密明文
ASYMMETRIC_SIGN() 从摘要创建签名
ASYMMETRIC_VERIFY() 验证签名字符串是否匹配摘要字符串

不支持的函数

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