是否可以在不提取实际档案的情况下从 ZIP 档案中删除已知密码?
我有一些压缩率很高的档案,不想解压并重新压缩每个档案。解压和重新压缩会花费很多时间,我只需要在传递它们之前删除密码(我知道)。
干杯
答案1
这是不可能的,因为文件是加密的http://blog.superuser.com/2011/04/02/compression-and-encryption-the-zip-years/这些文件必须被解密。
如果这是一次性的工作,我建议您将所有这些 ZIP 文件放在一个目录中,从命令行执行(假设是 Windows)dir>doit.bat
,然后编辑批处理文件以从命令行解压和打包所有内容。
确保您以这样的方式编写命令,即新文件在另一个目录中创建,以便原始文件保留。如果您使用带有键盘宏的编辑器,这最多需要 15 分钟的工作时间。使用单独的批处理文件中的前两个文件进行测试。如果一切顺利,请运行批处理文件。
即使处理所有 ZIP 文件需要两天时间,谁在乎呢。如果您有足够的磁盘空间并且不关闭计算机,您可以同时做其他事情。
答案2
ZIP 加密是在压缩数据之后进行的。因此理论上可以解密,但不能提取数据,从而节省了重新压缩的耗时步骤。
实际上也是可行的:大多数标准 Linux 发行版都安装了执行此任务的命令行实用程序。它被称为zipcloak
。使用方法如下:
zipcloak -d ZIPFILE
如果没有该-d
选项,则可以使用同一实用程序对已压缩但尚未加密的档案进行加密。
但请记住,ZIP 加密存在许多弱点,下面将详细讨论:https://security.stackexchange.com/questions/35818/are-password-protected-zip-files-secure