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

指定-md参数仍无法解决OpenSSL error:06065064解密失败问题

问题根因

你们遇到的解密失败是OpenSSL 1.1.1不同小版本对PBKDF2默认迭代次数的兼容性问题导致的:

  • OpenSSL 1.1.1f、1.1.1i版本中,-pbkdf2的默认迭代次数为1024
  • OpenSSL 1.1.1j及后续版本,官方调整了-pbkdf2的默认迭代次数为2048

你们的命令中仅指定了摘要算法,没有显式声明迭代次数,不同版本生成的派生密钥完全不一致,就会触发bad decrypt报错。

解决方案

方案一:统一显式指定迭代次数(推荐)

所有人员的加密、解密命令中都新增-iter参数,固定迭代次数即可,可选1024兼容旧加密文件,或选择更高的2048提升安全性,只要所有成员统一即可。
修改后的加密命令示例:

export CONFIG_KEY='[ key ]'
openssl enc -md sha1 -aes-256-cbc -pbkdf2 -iter 1024 -pass env:CONFIG_KEY -out ./tests/e2e/config/encrypted-dev.enc -in ./tests/e2e/config/config-dev.json

修改后的解密命令示例:

export CONFIG_KEY='[ key ]'
openssl enc -md sha1 -aes-256-cbc -pbkdf2 -iter 1024 -d -pass env:CONFIG_KEY -in ./tests/e2e/config/encrypted-dev.enc -out ./tests/e2e/config/config-dev.json

方案二:临时兼容已有加密文件

如果需要解密已有的历史加密文件,不需要重新加密,对应版本的用户添加对应迭代次数参数即可:

  • 1.1.1j版本用户解密1.1.1f/1.1.1i加密的文件:解密命令加-iter 1024
  • 1.1.1f/1.1.1i版本用户解密1.1.1j加密的文件:解密命令加-iter 2048

方案三:统一OpenSSL版本

所有成员统一使用相同的OpenSSL小版本,也可以彻底避免该类版本兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:36:03