簡體   English   中英

具有 CBC 加密模式的 Maria DB AES_DECRYPT()

[英]Maria DB AES_DECRYPT() with CBC encryption mode

mysql 顯示錯誤:查詢錯誤 (1582):調用本機 function 'AES_DECRYPT' 時的參數計數不正確

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

我的要求是使用 MariaDB 使用 aes-256-cbc 加密

如果您使用的是 MariaDB,則應閱讀 MariaDB 文檔,而不是 MySQL 文檔。

https://mariadb.com/kb/en/aes_encrypt/ shows AES_ENCRYPT() only has two arguments. This matches the implementation of that function as of MySQL 5.5, when MariaDB forked from MySQL in 2010. Since then, MySQL 5.7 and later將 function 更改為接受更多 arguments。

通常,您不應再將 MariaDB 和 MySQL 視為同一產品的變體。 自從分叉以來,它們都發生了顯着變化,並且在許多情況下它們不再兼容。


這是 MariaDB 支持 IV 和塊加密模式的功能請求: https://jira.mariadb.org/browse/MDEV-9069

截至 2022 年 12 月 12 日(我撰寫本文時版本 10.10 是最新的),該功能尚未實現。 所以MariaDB目前不支持CBC或其他加密方式。 它仍然像在 MySQL 5.5 中那樣工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM