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

OpenSSL 3.0执行DES加密命令报unsupported crypto错误如何解决?

OpenSSL 3.0 执行DES-ECB加密报错解决方案

报错根因

OpenSSL 3.0及以上版本默认禁用了DES这类安全性低的老旧加密算法,该类算法已被移入legacy(遗留)提供程序,默认状态下不会被加载,因此直接调用会返回算法不支持错误。

解决方法

方案1:单次执行临时加载legacy提供程序

在原加密命令中添加-provider legacy -provider default参数即可正常执行,修改后的完整命令如下:
openssl enc -des-ecb -e -provider legacy -provider default -in secret_message.txt -out simple-cipher-message.bin -K b2a2d62eab19114f
需要同时加载两个提供程序:legacy提供DES-ECB算法支持,default提供其他默认基础功能,二者缺一不可。

方案2:修改配置文件永久生效

如果需要经常使用旧加密算法,可以修改OpenSSL配置文件默认加载legacy提供程序:

  • 打开OpenSSL安装目录下的openssl.cnf配置文件
  • 找到[provider_sect]配置段,默认仅配置了default = default_sect,新增一行配置:
    legacy = legacy_sect
  • 在配置文件末尾新增两段配置:
    [legacy_sect]
    activate = 1
    
    [default_sect]
    activate = 1
    
  • 保存配置文件后重启命令提示符,后续直接运行原加密命令即可正常执行。

注意事项

DES算法和ECB模式均属于安全性极低的加密方案,仅建议用于测试、兼容旧系统场景,生产环境请使用AES等更安全的加密算法替代。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:24:04