You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AES-256-CBC加密结果在MariaDB与SCV Crypto Manager中为何不一致?

MariaDB与SCV Crypto Manager的AES-256-CBC加密结果差异问题

加密参数

  • 密钥:通过MariaDB的SHA2()生成的256位密钥(十六进制值:db31652dbe04f6187e79cfb9c9bffb8e560a5a8eeec687e4c37a12815c4affbd)
  • IV(初始化向量):16字节二进制向量,对应十六进制字符串557169695444544577516D6C4B30344A
  • 明文:KTC

MariaDB操作及结果

执行以下SQL语句:

SET block_encryption_mode = 'aes-256-cbc';

SET @key = SHA2('JImgFdqERWjqyDaAwxIER0KbThoWV7GEiwSr0d6J2IQ=', 256); 
SET @iv = UNHEX('557169695444544577516D6C4B30344A'); 

SET @plain_data = 'KTC';
SET @encrypted_data = UNHEX('116A82BE96082F6188F448B2FA49717B'); 

SELECT 
    HEX(AES_ENCRYPT(@plain_data, @key, @iv)) AS encrypted_hex, -- 加密结果
    AES_DECRYPT(@encrypted_data, @key, @iv) AS decrypted_text, -- 解密结果
    (@key) AS encryption_key_hex,                          -- 密钥十六进制
    (@iv) AS initialization_vector_hex;                    -- IV十六进制

查询输出:

+----------------------------------+----------------+------------------------------------------------------------------+---------------------------+
| encrypted_hex                    | decrypted_text | encryption_key_hex                                               | initialization_vector_hex |
+----------------------------------+----------------+------------------------------------------------------------------+---------------------------+
| 116A82BE96082F6188F448B2FA49717B | KTC            | db31652dbe04f6187e79cfb9c9bffb8e560a5a8eeec687e4c37a12815c4affbd | UqiiTDTEwQmlK04J          |
+----------------------------------+----------------+------------------------------------------------------------------+---------------------------+

可以看到,MariaDB加密KTC得到的十六进制密文为116A82BE96082F6188F448B2FA49717B,且用相同密钥和IV解密该密文能正确还原出明文KTC。

SCV Crypto Manager操作及结果

使用相同的密文、密钥和IV进行解密操作:

Input : 11 6A 82 BE 96 08 2F 61 88 F4 48 B2 FA 49 71 7B
Modes : CBC
Key : db 31 65 2d be 04 f6 18 7e 79 cf b9 c9 bf fb 8e 56 0a 5a 8e ee c6 87 e4 c3 7a 12 81 5c 4a ff bd
IV : 55 71 69 69 54 44 54 45 77 51 6D 6C 4B 30 34 4A

AES mode CBC deciphering :

6A C6 0B FB D5 72 10 6D A4 EC B2 08 0D C1 32 F0

将解密结果转换为ASCII后得到乱码:jÆûÕrm¤ì²Á2ð,与MariaDB的解密结果完全不符。

疑问

为何在密钥、IV和密文均相同的情况下,MariaDB与SCV Crypto Manager的AES-256-CBC解密结果存在差异?

内容的提问来源于stack exchange,提问作者Daniel P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 04:40:17