title | summary |
---|---|
加密和压缩函数 |
TiDB 支持大部分 MySQL 5.7 中提供的加密和压缩函数,包括MD5、PASSWORD、RANDOM_BYTES、SHA1、SHA2、AES_DECRYPT、AES_ENCRYPT、COMPRESS、UNCOMPRESS、UNCOMPRESSED_LENGTH 和 VALIDATE_PASSWORD_STRENGTH。相关系统变量 block_encryption_mode 用于设置 AES_ENCRYPT 和 AES_DECRYPT 的加密模式。不支持的函数包括 DES_DECRYPT、DES_ENCRYPT、OLD_PASSWORD 和 ENCRYPT,以及仅在 MySQL 企业版中支持的函数。 |
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。