7z 压缩时使用多个密码

今天在命令行中使用7z进行压缩和解压缩时遇到一个有趣的事情。

压缩

用7z压缩时使用以下命令:

7z a 123.zip 123/

后来发现,将文件添加到压缩文件时可以加上密码,像这样:

7z a 123.zip 123/ -p123

这样在解压时就需要输入密码123

但是

每使用7z添加一次文件到压缩包,就可以增加一次密码

像这样:

7z a x.zip 123.zip -p123
7z a x.zip qqq.zip -pqqq
7a a x.zip ddd.zip -pddd

于是,这个压缩包里的三个文件就分别对应了三个密码。。。非常的简单~

解压

虽然很简单就可以进行压缩,但是解压的时候,我们就会发现问题了。

先试试双击打开

可以看到有这些文件

接下来提取到当前文件夹

先使用123这个密码

然后可以发现,出错了

也就是只有123.zip这个文件的解压密码是正确的

再看一下文件夹里

可以看到除了123.zip这个文件大小不为0,另外两个文件大小都为0

123.zip这个文件可以解压

但是没有办法用7z打开这两个大小为0的压缩包

用windows11文件管理器自带的功能可以打开这个zip文件,但是里面啥也没有。

接下来试试用另一个密码ddd

然后可以看到提示信息

风水轮流转,这下轮到这123.zipqqq.zip解压错误了。

看下文件管理器

可以发现,ddd.zip对应的密码就是ddd,所以它被正确解压,而其他两个文件没有。

有什么用呢

大概。。。可以用来限制把某些文件解压到本地,但是可以看到,解压错误的文件还是会被创建,只是大小为0,并且没有内容。

大致可以实现,让几个拥有不同密码的人,都只能解压文件的相应部分,而无法获得另外的部分。

如果有需要共享的文件,再添加文件进入压缩包时不带-p参数即可。

7z a 工资.zip 小李的/ -pxiaoli
7z a 工资.zip 小王的/ -pxiaowang
7z a 工资.zip 老板的/

可以看到有这些文件

如果我是小李

我就没办法解压小王的文件

但是我可以获得共享的文件

所以,或许只需要在群里发送一个压缩包,让大家各取所需即可~~~

posted @ 2024-02-26 19:21  Nomaldisk  阅读(36)  评论(0编辑  收藏  举报