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

使用OpenSSL 1.0.2p AES-256-ECB解密时出现‘bad decrypt’错误求助

AES-256-ECB解密"bad decrypt"错误解决办法

出现bad decrypt错误的核心原因通常是加密和解密的参数不匹配,尤其是盐值处理、密钥推导算法的隐性差异,针对OpenSSL 1.0.2p版本,可按以下步骤排查解决:

  • 统一盐值处理参数
    如果不需要随机盐值,加密和解密时都添加-nosalt参数,避免默认盐值导致的匹配失败:
    加密命令:

    openssl enc -aes-256-ecb -e -in abc -out abc_en -k 1122334455 -nosalt
    

    解密命令:

    openssl enc -aes-256-ecb -d -in abc_en -out abc_1 -k 1122334455 -nosalt
    
  • 显式指定密钥推导哈希算法
    OpenSSL 1.0.2p用-k参数时默认用MD5生成密钥,若环境中哈希算法配置有差异,可显式指定-md md5确保加密解密一致:
    加密命令:

    openssl enc -aes-256-ecb -e -in abc -out abc_en -k 1122334455 -md md5
    

    解密命令:

    openssl enc -aes-256-ecb -d -in abc_en -out abc_1 -k 1122334455 -md md5
    
  • 检查加密文件完整性
    确认abc_en文件未被意外修改(如二进制文件编辑、传输损坏),可重新执行加密命令生成新的加密文件后再尝试解密。

  • 直接使用原始密钥测试
    若怀疑口令推导过程出问题,可先从口令生成AES-256密钥,再用-K(大写)指定原始密钥进行加解密:
    生成密钥:

    echo -n "1122334455" | openssl dgst -md5 -binary | xxd -p
    

    加密(替换生成的密钥为上面输出的32位十六进制字符串):

    openssl enc -aes-256-ecb -e -in abc -out abc_en -K 生成的密钥 -nosalt
    

    解密:

    openssl enc -aes-256-ecb -d -in abc_en -out abc_1 -K 生成的密钥 -nosalt
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 05:20:09