更新时间:2024-12-04 GMT+08:00
分享

加密函数

表1 加密函数列表

MySQL数据库

GaussDB数据库

差异

AES_DECRYPT()

支持,存在差异

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

AES_ENCRYPT()

支持,存在差异

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不一致。

相关文档