更新时间:2024-11-11 GMT+08:00

加密函数

表1 加密函数列表

序号

MySQL数据库

GaussDB数据库

差异

1

AES_DECRYPT()

支持。

  1. ecb为不安全加密模式,GaussDB不支持,默认为cbc模式。
  2. GaussDB中,当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0-127根据ASCII标准解释,而字节值128-255则当作无法解析的字符;如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助你转换或者校验非ASCII字符。
  3. MySQL的返回值类型为BINARY、VARBINARY、BLOB、MEDIUMBLOB、LONGBLOB,GaussDB返回值类型固定为LONGBLOB。
  4. GUC参数 :block_encryption_mode不支持设置数字。

2

AES_ENCRYPT()

支持。

3

PASSWORD()

支持,有差异。

  • MySQL中可以通过GUC参数old_passwords控制生成密码的哈希方式:
    • old_passwords的默认值为0。
    • old_passwords为0:表示使用MySQL 4.1 native hashing加密。
    • old_passwords为2:表示使用SHA-256 hashing加密。
  • GaussDB中没有实现GUC参数old_passwords,password函数的行为只与默认(即old_passwords为0)的行为保持一致。
  • 当BINARY类型插入字符串长度小于目标长度时,GaussDB填充符和MySQL不同;因此入参为BINARY类型时,函数结果和MySQL不一致。