You need to enable JavaScript to run this app. OpenSSL AES-CFB-128等效解密命令与Python代码适配问题问询
优惠活动
大模型
产品
解决方案
定价
更多

OpenSSL AES-CFB-128等效解密命令与Python代码适配问题问询

解密失败的核心原因

你遇到的问题既不是OpenSSL和Python加密逻辑不兼容,也不是key、iv参数填写错误,本质是CFB模式的分段尺寸配置不匹配。

  • 你Python代码中显式指定了CFB模式的segment_size = 128,也就是采用128bit(16字节整块)作为反馈单元的CFB128模式,每一次反馈都处理完整的AES块。
  • 你调用的OpenSSL算法参数-aes-128-cfb,在OpenSSL 1.1.1系列的实现里,不带分段后缀的这个算法名,默认对应的是CFB8模式(8bit分段,每次只处理1字节作为反馈单元),和你Python端的分段参数差了一个数量级,两边加密/解密的流生成逻辑完全错开,自然输出不了正确的明文。
可直接运行的正确解密命令

把原来命令里的算法名替换成显式指定128bit分段的标识即可,OpenSSL对CFB模式的命名规则是在算法名后标注分段bit数,CFB128对应的算法标识为aes-128-cfb128:

openssl.exe enc -d -aes-128-cfb128 -in config_enc.bin -out config.xml -K 3398699acebda0da -iv b39a46f5cc4f0d45
补充排查提示
  • 你填写的key、iv hex值本身是正确的:你Python代码里传入的b'3398699acebda0da'、b'b39a46f5cc4f0d45'都是16字节的ASCII字符串,逐字符转成十六进制,刚好和你命令里写的-K、-iv参数值完全一致,这部分没有格式错误。
  • 不要额外添加OpenSSL默认的密码派生相关参数(比如加密码、salt、pbkdf2标识):你的Python代码是直接用固定key/iv做裸AES加解密,没有走OpenSSL默认的“输入密码派生key”的流程,你当前命令没加这类参数的写法是正确的。
  • 注意区分同类CFB参数的差异:OpenSSL里的aes-128-cfb1是1bit分段的CFB模式,aes-128-cfb默认是8bit分段,这两个都和你Python端的128bit分段配置不匹配,不能混用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 22:54:06