7-Zip 命令在 Windows 上创建和提取受密码保护的 ZIP 文件? [关闭]
Posted
技术标签:
【中文标题】7-Zip 命令在 Windows 上创建和提取受密码保护的 ZIP 文件? [关闭]【英文标题】:7-Zip command to create and extract a password-protected ZIP file on Windows? [closed] 【发布时间】:2015-03-25 11:08:23 【问题描述】:在 Mac/Linux 上压缩/解压缩受密码保护的 zip 文件,我使用: 邮编:
zip -P password -r encrypted.zip folderIWantToZip
解压:
unzip -P password encrypted.zip
Windows上命令行等效的命令有哪些(假设已经安装了7zip)?
我一直在做研究,发现无法使用 Java zip4j 库进行密码加密。 Windows 也没有像 Mac/Linux 这样的 zip 命令提示符
【问题讨论】:
sevenzip.sourceforge.jp/chm/cmdline/syntax.htm 您的最后一句话表明您实际上可能希望从 Java 中执行此操作,这将是一个编程问题。但你实际问的问题不是,属于超级用户。 googlers... →请停止任何信任 zip 密码“保护”。它是不是。 – 考虑 7zip 或 rar。 使用-P
是多用户操作系统上的一个安全漏洞。建议改用-e
。
【参考方案1】:
来自http://www.dotnetperls.com:
7z a secure.7z * -pSECRET
地点:
7z : name and path of 7-Zip executable
a : add to archive
secure.7z : name of destination archive
* : add all files from current directory to destination archive
-pSECRET : specify the password "SECRET"
打开:
7z x secure.7z
然后提供 SECRET 密码
注意: 如果密码包含空格或特殊字符,则用单引号括起来
7z a secure.7z * -p"pa$$word @|"
【讨论】:
是否可以在打开时提供秘密密码,以便所有操作都可以作为一个命令完成?我目前没有 Windows 机器来测试它 带有重定向: 的命令 太棒了,我刚刚使用RoboTask Lite 实现了一些东西以上传到云端(以及 7 压缩文件到本地文件夹,即云同步) - 通过使用这些参数单击托盘图标。在我手动进行 7zip 压缩之前,我非常恼火,不得不重命名文件 命令行最后注释中的示例密码实际上是一个错误的选择,因为双引号内的$$
将提取到当前进程ID。因此,您几乎不知道您提供了哪个密码。与单个 $
相同,它将以下字符视为变量名,并且很可能为空。改用单引号,例如 `-p 'pa$$word...'
最后一个例子在 Windows 上不起作用,因为'
也包含在密码中,为了使它起作用,我想使用双引号 "
【参考方案2】:
一般语法:
7z a archive_name target parameters
检查您的 7-Zip 目录。根据您拥有的版本,7z 可能在语法中被替换为 7za。
参数:
-p 加密并提示输入密码。 -pPUT_PASSWORD_HERE(替换-p)如果你想在没有提示的情况下预设密码。 -mhe=on 隐藏文件结构,否则默认显示文件结构和名称。例如。这将提示输入 PW 并隐藏文件结构:
7z a archive_name target -p -mhe=on
例如。无提示,可见文件结构:
7z a archive_name target -pPUT_PASSWORD_HERE
等等。如果您将 target 留空,7z 将假定 * 在当前目录中,并且默认情况下会重复目录。
【讨论】:
【参考方案3】:完全脚本自动化:
创建:
7z -mhc=on -mhe=on -pPasswordHere a %ZipDest% %WhatYouWantToZip%
解压:
7z x %ZipFile% -pPasswordHere
(视情况而定,您可能需要:Set Path=C:\Program Files\7-Zip;%Path%)
【讨论】:
【参考方案4】:我可能有点晚了,但我目前正在尝试开发一个可以暴力破解受密码保护的 zip 存档的程序。首先,我尝试了我在互联网上找到的所有命令来通过 cmd 提取它......但它从来没有工作过......每次我尝试它时,cmd 输出都说,密钥错误但它是正确的。我认为他们只是在当前版本中禁用了此功能。
我为解决这个问题所做的是下载一个较旧的 7zip 版本(4.?)并使用它通过 cmd 进行提取。
这是命令: "C:/Program Files (86)/old7-zip/7z.exe" x -pKey "C:/YOURE_ZIP_PATH"
第一个值(“C:/Program Files (86)/old7-zip/7z.exe”)必须是您安装旧 7zip 的路径。 x 用于提取,-p 用于您的密码。确保在 -p! 后面输入密码且不带任何空格!最后一个值是要提取的 zip 存档。将 zip 提取到的目的地将是 cmd 的当前路径。你可以改变它: cd YOURE_PATH
现在我让我尝试使用密码通过 java 执行此命令。然后我检查cmd的错误输出流,如果是null->那么密码是对的!
【讨论】:
一般信息:如果您需要下载 7z 程序,请从这里下载 7-zip.org/download.html 它会默认安装在此处:C:\Program Files\7-Zip以上是关于7-Zip 命令在 Windows 上创建和提取受密码保护的 ZIP 文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章