不同版本openssl之间加密和解密的影响

事情经过是一个服务器要将文件加密打包推送至另外一个服务器,两台服务器openssl版本不一致。导致加密和解密在两台服务器之间都可以正常运行,一方加密一方解密就报错无法解压。

问题原因

openssl1.0.x 和openssl1.1.x之间因为加密方式不同,opensssl 1.0版本的加密算法是MD5,而1.1版本的默认加密算法SHA256。 不同系统使用的openssl版本

操作系统openssl版本
CentOS 50.9.8e
CentOS 61.0.1e
CentOS 71.0.1e
Ubuntu 14.04 LTS1.0.1f
Ubuntu 16.04 LTS1.0.29
Debian 7(Wheezy)1.0.1e
Debian 8 (Jessie)1.0.1k

因为openssl算法摘要不同从而导致不能跨版本进行加密解密操作。具体内容可查看 https://www.codenong.com/39637388/

解决办法 openssl指定默认摘要

openssl加密和解密时候,1.1版本的指定加密算法即可。

原始命令

#加密
tar -cvf - dir_name | openssl enc -aes-128-ecb -salt -pass pass:password -out file_name.tgz
#解密
openssl enc -d -aes-128-ecb -salt -pass pass:password -in file_name.tgz | tar -x

指定openssl加密算法

#加密
tar -cvf - dir_name | openssl enc -aes-128-ecb -salt -pass pass:password -md md5 -out file_name.tgz
#解密
openssl enc -d -aes-128-ecb -salt -md md5 -pass pass:password -in file_name.tgz | tar -x

已有 0 条评论

    我有话说: