返回总目录页

tar和zip包加密解密压缩

 

 

1、概述


嗯,最近有些机密文件无处安放,因为太机密了,后来确定加密后放到服务器上。研究一番后发现tar和zip命令都能实现,所以在此记录一下。

压缩:tar -zcvf - ./packageTest | openssl des3 -salt -k yourpassword | dd of=meiyou.tar.gz 

解压:dd if=meiyou.tar.gz |openssl des3 -d -k yourpassword |tar zxf -

 

2、加密


在packageTest目录中有两个文件,我们的目标是将整个packageTest目录进行加密压缩,

[root@localhost jar]# ll ./packageTest
总用量 8
-rw-r--r-- 1 root root 4 7月 7 14:22 a.txt
-rw-r--r-- 1 root root 5 7月 7 14:22 b.txt

2.1、使用tar命令进行加密压缩

下面命令适用于文件和目录的压缩

[root@localhost atest]# tar -zcvf - ./packageTest | openssl des3 -salt -k yourpassword | dd of=meiyou.tar.gz
./packageTest/
./packageTest/a.txt
./packageTest/b.txt
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.
记录了0+1 的读入
记录了0+1 的写出
208字节(208 B)已复制,0.00550074 秒,37.8 kB/秒

上面命令中,-k yourpassword可以没有,如果没有的话,在压缩过程中会让输入密码。

 

2.2、使用tar命令进行解压


[root@localhost atest]# dd if=meiyou.tar.gz |openssl des3 -d -k yourpassword |tar zxf -
记录了0+1 的读入
记录了0+1 的写出
208字节(208 B)已复制,0.000187095 秒,1.1 MB/秒
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

上面命令中,-k yourpassword也可以没有,如果没有的话,在解压过程中会让输入密码。

 

[root@mcw01 mcw02]# ls
mcwtest
[root@mcw01 mcw02]# ls mcwtest/
mcw.sh  mcw.txt
[root@mcw01 mcw02]# tar -zcf - mcwtest |openssl des3 -salt -k 123456 |dd of=mcwtest.tar.gz
0+1 records in
0+1 records out
280 bytes (280 B) copied, 0.0445331 s, 6.3 kB/s
[root@mcw01 mcw02]# ls
mcwtest  mcwtest.tar.gz
[root@mcw01 mcw02]# 

 

[root@mcw01 mcw02]# cd xiaoma/
[root@mcw01 xiaoma]# ls
mcwtest.tar.gz
[root@mcw01 xiaoma]# tar xf mcwtest.tar.gz  #直接解压报错,可能不是附件。
tar: This does not look like a tar archive

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
[root@mcw01 xiaoma]# dd if=mcwtest.tar.gz |openssl des3 -d -k 123456 |tar zxf -
0+1 records in
0+1 records out
280 bytes (280 B) copied, 6.4454e-05 s, 4.3 MB/s
[root@mcw01 xiaoma]# ls
mcwtest  mcwtest.tar.gz
[root@mcw01 xiaoma]# ls mcwtest  #指定密码解压,正常解压,并且可以看到解压后的文件都正常
mcw.sh  mcw.txt
[root@mcw01 xiaoma]# cat mcwtest/mcw.sh 
a=1
while [ $a == 1 ]
do
sleep 1
echo '=======>' `date`   >>mcw.txt
nslookup push.xxx.cn >>mcw.txt
done
[root@mcw01 xiaoma]# cat mcwtest/mcw.txt 
mcwtest
[root@mcw01 xiaoma]# 

 

2.3、使用zip命令进行加密压缩


[root@localhost atest]# zip -re packageTest.zip packageTest
Enter password:
Verify password:
adding: packageTest/ (stored 0%)
adding: packageTest/a.txt (stored 0%)
adding: packageTest/b.txt (stored 0%)

上面加密过程中需要输入加密密码,也可以将密码直接写在加密命令中:

[root@localhost atest]# zip -rP yourpassword packageTest.zip packageTest
adding: packageTest/ (stored 0%)
adding: packageTest/a.txt (stored 0%)
adding: packageTest/b.txt (stored 0%)

2.4、使用zip命令进行解压


[root@localhost atest]# unzip packageTest.zip
Archive: packageTest.zip
creating: packageTest/
[packageTest.zip] packageTest/a.txt password:
extracting: packageTest/a.txt
extracting: packageTest/b.txt

上面解压过程中需要输入密码,我们也可以将密码写在解压命令中,这样就解压过程中就不用输入密码了。

 

2.5 zip 压缩和解压缩案例

解压时需要密码,

[root@mcw01 mcw2]# ls
xiaoma
[root@mcw01 mcw2]# ls xiaoma/
mcw.txt
[root@mcw01 mcw2]# cat xiaoma/mcw.txt 
xiaomatest
[root@mcw01 mcw2]# zip -re mcwbao.zip xiaoma
Enter password: 
Verify password: 
  adding: xiaoma/ (stored 0%)
  adding: xiaoma/mcw.txt (stored 0%)
[root@mcw01 mcw2]# ls
mcwbao.zip  xiaoma
[root@mcw01 mcw2]# mkdir  xiaoma2
[root@mcw01 mcw2]# mv mcwbao.zip xiaoma2/
[root@mcw01 mcw2]# cd xiaoma2/
[root@mcw01 xiaoma2]# ls
mcwbao.zip
[root@mcw01 xiaoma2]# unzip mcwbao.zip 
Archive:  mcwbao.zip
   creating: xiaoma/
[mcwbao.zip] xiaoma/mcw.txt password: 
 extracting: xiaoma/mcw.txt          
[root@mcw01 xiaoma2]# ls
mcwbao.zip  xiaoma
[root@mcw01 xiaoma2]# cat xiaoma/mcw.txt 
xiaomatest
[root@mcw01 xiaoma2]# 

把包下载到windows

 打开需要密码

 解压需要输入密码

 

 

3、总结


zip或tar加密压缩是一种将多个文件或目录打包成单个文件的方法,并对其进行加密以保护其中的内容不被未经授权的人访问,其使用场景包括但不限于以下几个方面:
数据备份:在进行数据备份时,我们通常需要将多个文件或目录打包成一个压缩文件,以便于传输和存储。如果这些数据包含敏感信息,那么我们可以使用zip加密压缩来保护其安全性。
文件传输:在进行文件传输时,我们通常需要将多个文件或目录打包成一个压缩文件,以便于传输和接收。如果这些文件包含敏感信息,那么我们可以使用zip加密压缩来确保传输过程中不被未经授权的人访问。
存储归档:在进行存储归档时,我们通常需要将多个文件或目录打包成一个压缩文件,以便于存储和管理。如果这些文件包含敏感信息,那么我们可以使用zip加密压缩来确保其安全性和隐私性。
tar命令在Linux中内置的比较广泛,而zip命令在有些操作系统中是没有内置安装的,需要额外安装。

 


原文链接:https://blog.csdn.net/u012288582/article/details/131598110

 

posted @ 2024-04-24 23:21  马昌伟  阅读(288)  评论(0编辑  收藏  举报
博主链接地址:https://www.cnblogs.com/machangwei-8/