Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 3.6 KB

encryption-and-compression-functions.md

File metadata and controls

34 lines (26 loc) · 3.6 KB
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