我使用 OpenSSL 对明文进行编码并在多个远程服务器上对其进行解码。当我测试我的脚本以确保 Debian 9 Stretch 兼容性时,发现了一个错误。
这是我测试的方式:Debian 6,OpenSSL 0.9.8o,编码字符串:
# echo "Hi guys" | openssl des3 -salt -a -k "testkey"
U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=
Run Code Online (Sandbox Code Playgroud)
在同一台服务器上解码:
# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
Hi guys
Run Code Online (Sandbox Code Playgroud)
Debian 9,OpenSSL 1.1.0f,解码字符串:
# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
bad decrypt
140259873273088:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:535:
z???AR?
Run Code Online (Sandbox Code Playgroud)
在解码过程中:
Debian 7,OpenSSL 1.0.1t:
$ echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" | openssl des3 -salt -a -d -k "testkey"
Hi guys
Run Code Online (Sandbox Code Playgroud)
Debian 8,OpenSSL 1.0.1t
# echo "U2FsdGVkX1+I3EBhXjqrm+MJOmKRpj+Y5TtNJaJjI/s=" …Run Code Online (Sandbox Code Playgroud)