【问题标题】:7-Zip command to create and extract a password-protected ZIP file on Windows? [closed]7-Zip 命令在 Windows 上创建和提取受密码保护的 ZIP 文件? [关闭]
【发布时间】: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 命令提示符

【问题讨论】:

  • 您的最后一句话表明您实际上可能希望从 Java 中执行此操作,这将是一个编程问题。但你实际问的问题不是,属于超级用户。
  • googlers... →请停止任何信任 zip 密码“保护”。它是不是。 – 考虑 7zip 或 rar。
  • 使用-P 是多用户操作系统上的一个安全漏洞。建议改用-e

标签: windows encryption command-line zip 7zip


【解决方案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
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 1970-01-01
      • 2010-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多