tar 打包压缩加密和解密解包解压

前言: 在实际生产环境之中,很多数据需要以加密形式进行存放,下面我们以tar打包压缩/解包解压命令来说明如何使用打包压缩加密和解密解包解压。加密使用 des3
  • 进行打包压缩加密

    假设在 /data 目录下有一个目录叫 backup 需要进行打包压缩并加密。

  1. 使用工具生产一串密钥,这里使用openssl基于base64生成32位密钥
[root@server data]# openssl rand -base64 32
LGgJ5R0zljjtvdEcaRgHegivnBw7UeBY0+Q7UYt0Epo=
[root@server data]#
  1. 进行打包压缩加密

直接打包加密输出

[root@server data]# tar -czvf - backup | openssl des3 -salt -k LGgJ5R0zljjtvdEcaRgHegivnBw7UeBY0+Q7UYt0Epo= -out backup.tar.gz  
....

打包加密后使用dd命令导出(文件后缀无所谓,des3为了记加密类型)

[root@server data]#  tar -zcvf - backup | openssl des3 -salt -k LGgJ5R0zljjtvdEcaRgHegivnBw7UeBY0+Q7UYt0Epo= | dd of=backup.des3
...
  • 进行解密解包解压缩
    1. 如果没有进行使用dd命令进行重新导出的,可以直接使用以下命令进行解
[root@server data]#  openssl des3 -d -k LGgJ5R0zljjtvdEcaRgHegivnBw7UeBY0+Q7UYt0Epo= -salt -in backup.tar.gz | tar xzf -
...

     2. 如果使用dd命令,请使用以下命令进行

[root@server data]#  dd if=backup.des3 | openssl des3 -d -k LGgJ5R0zljjtvdEcaRgHegivnBw7UeBY0+Q7UYt0Epo= | tar -zvxf -
...
注意:由于在命令行直接把密钥写进进行加密,所有一般系统在用户的命令历史里面会记录了加密的密钥,这样进行加密后,需要清掉涉及的历史记录或在进行清空,或者在加密时候不要使用 -k 参数以及后面的密钥,等询问密钥时候再进行输入,这样就不会泄漏密钥。解密时候也一样
    原文作者:AllenWGZ
    原文地址: https://www.jianshu.com/p/208f86c2ecf0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞