我正在加密一个文件,以便将其从 ubuntu 16.04 或 18.04 主机传输到 Centos 7.3 主机。
我这样加密:
openssl des3 -e -kfile MY_SYMETRIC_KEY_FILE -in FILE_TO_BE_CRYPTED -out CRYPTED_FILE
并像这样解密:
openssl des3 -d -kfile MY_SYMETRIC_KEY_FILE -in CRYPTED_FILE -out UNCRYPTED_FILE
我拥有的 openssl 版本:
Ubuntu 16.04 : 1.0.2g
Centos 7.3 : 1.0.1e
Ubuntu 18.04 : 1.1.0g
从 Ubuntu 16.04 加密,在 Ubuntu 16.04 上解密:可以
从 Ubuntu 16.04 加密,在 Centos 7.3 上解密:可以
从 Ubuntu 18.04 加密,在 Ubuntu 18.04 上解密:没问题
但是当我从 Ubuntu 18.04 加密并在 Centos 7.3 上解密时:我收到此错误:
bad decrypt
140503464642464:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:evp_enc.c:604:
为什么?我该如何解决?
答案1
我通过使用这个加密命令解决了这个问题:
openssl des3 -e -md md5 -kfile MY_SYMETRIC_KEY_FILE -in FILE_TO_BE_CRYPTED -out CRYPTED_FILE
(添加 -md md5 选项)