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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?