【问题标题】:Maria DB AES_DECRYPT() with CBC encryption mode具有 CBC 加密模式的 Mariadb AES_ENCRYPT()
【发布时间】:2023-01-20 01:02:40
【问题描述】:

查询基于 MySql Doc mysql 显示错误:查询错误 (1582):调用本机函数“AES_DECRYPT”时参数计数不正确 我正在使用 mariaDB 我尝试了不同的选项,但都在同一个地方结束

SET @key_str = '3C5QYgFQr9AARjMyLNNQ3fL8QauXLTz0';
SET @iv = 'kaNUE3JAIVB9Em9v';
SET @ciphertext = AES_ENCRYPT('Hello', @key_str, @iv);
SELECT AES_DECRYPT(@ciphertext, @key_str, @iv);```

【问题讨论】:

    标签: mysql encryption cypher aes


    【解决方案1】:

    如果您使用的是 MariaDB,则应该阅读 MariaDB 文档,而不是 MySQL 文档。

    https://mariadb.com/kb/en/aes_encrypt/ 显示 AES_ENCRYPT() 只有两个参数。这与 MySQL 5.5 中该函数的实现相匹配,当时 MariaDB 在 2010 年从 MySQL 中分离出来。从那时起,MySQL 5.7 及更高版本更改了该函数以接受更多参数。

    通常,您不应再将 MariaDB 和 MySQL 视为同一产品的变体。自从分叉以来,它们都发生了显着变化,并且在许多情况下它们不再兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 2015-11-18
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 2019-03-08
      相关资源
      最近更新 更多