Answers:
如果您使用OpenSSL <= 1.0.2加密,并且正在使用OpenSSL 1.1.0解密,则可能是这样的:
https://www.openssl.org/docs/faq.html#USER3
用于从密码生成密钥的默认哈希在1.0.2和1.1.0之间更改。尝试添加-md md5
到解密命令中。
-nosalt
使用真正古老的OpenSSL 加密的文件(最多0.9.6之前的版本)才能这样做。
下面的命令让我很痛苦:
openssl aes-256-cbc -d -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc decryption password:
bad magic number
下面的命令解决了它,让我很高兴:
openssl aes-256-cbc -md md5 -in hotmama.tar.bz2.enc -out hotmama.tar.bz2
enter aes-256-cbc encryption password:
Verifying - enter aes-256-cbc encryption password:
-d
)...
导致此错误的一般原因是OpenSSL根据密码计算出的密钥是错误的,这意味着与加密数据的密钥不同。
在与原始问题不同的情况下,出现此错误的原因之一是,是否要使用OpenSSL以外的其他工具进行加密,例如,使用Java进行加密,然后使用SSL进行解密。
请参阅此处的Java解决方案:https://stackoverflow.com/questions/22610761/aes-simple-encrypt-in-java-decrypt-with-openssl/55884564#55884564