OpenSSL -aes-256-cbc 解密行为在 1.0.2o 和 1.1.0g 之间发生了变化

pts*_*pts 5 openssl

这适用于 OpenSSL 1.0.2o:

$ echo s+pQpLgAQKY6z9fNtBz63A== | openssl enc -a -d -aes-256-cbc -k a -nosalt
foobar
Run Code Online (Sandbox Code Playgroud)

相同的命令不适用于 OpenSSL 1.1.0g:

bad decrypt
140479496508672:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:536:
Run Code Online (Sandbox Code Playgroud)

是否有适用于两个版本的命令行?如果没有,是否有可以为 OpenSSL 1.1.0g 添加的命令行标志以使其工作?

pts*_*pts 8

添加-md md5到该命令使其在两个版本(1.0.2o 和 1.1.0g)中都可以使用。

  • 是的。官方 OpenSSL FAQ 条目在这里:https://www.openssl.org/docs/faq.html#USER3 (3认同)