方案背景图

只加密码不加密文件名,等于只锁了内容没锁目录,解压软件照样能列出清单,扫描工具也可能读到片段,压缩包本身没坏,里面的文件大多完好。

正确做法是重打包时选 AES-256 算法,并打开「加密文件名」选项;老式 ZipCrypto 包没法直接改密码,解压后按 AES 规则重建就行。以下方法在 Windows 10/11 实测可用。

适用系统:Windows 10/11;最后更新:2026-09-29。

为什么加了密码,还能看到压缩包里的文件名

在 C:\Users\你的用户名\Downloads 里双击一个设过密码的 zip,Windows 文件资源管理器直接把里面的文件夹结构列了出来,密码框要等到打开具体文件才弹出来。

换 7-Zip 执行 7z l -slt 备份.zip,每条记录的 Method 一行写着 Deflate,Encrypted 一栏是一个减号,说明这个包用的是 ZipCrypto 老式加密,文件名和目录结构全是明文。

zip加密码后文件名仍可读的四项检查点-软领Win解压缩

先看清加密方式和文件名是否可读,再决定要不要重新打包,能省掉一堆反复试密码的时间。

方法1 先查出现有压缩包用的是哪种加密

用命令行看每个条目的 Method 一行:Deflate/ZipCrypto 是弱加密,AES-256 才算强加密。

同一个包里每个文件的 Method 是各自记录的,混着打的包要逐个条目看过去,只瞄第一条容易漏。

操作步骤

  1. Win+R 打开运行框,输入 cmd 回车,再执行 cd /d 压缩包所在目录(例如 C:\Users\你的用户名\Downloads)
  2. 执行 7z l -slt 文件名.zip,逐个条目找到 Method 一行
  3. Method 显示 Deflate 或条目里出现 ZipCrypto 字样,就是老式弱加密,密码只挡打开、不挡查看
  4. Method 显示 AES-256 就是强加密;若整份列表里既没有 AES 也没有 Encrypted = + 标记,说明这个包根本没加密

zip弱加密与AES-256强加密的Method对比-软领Win解压缩

方法2 用命令行重打包成 AES-256,并连文件名一起加密

-mem=AES256 决定加密强度,-mhe=on 才把文件名和目录一起加密,少一个都不行。

只给 -p 的时候,7-Zip 往 zip 里写的还是老式加密,文件名依旧明文,两个参数要一起用。

操作步骤

  1. 进入源文件所在目录,先敲 7z 回车确认命令能用,看到版本信息就正常
  2. 执行 7z a -tzip -p"你的密码" -mem=AES256 -mhe=on 输出.zip 要加密的文件
  3. -mem=AES256 指定强加密算法,-mhe=on 让文件名、目录结构一并被加密
  4. 提示 Cannot find archive 时,多半是路径或文件名带空格,给整条路径加英文双引号再试
  5. 打包完成后用 7z l -slt 输出.zip 复查,Method 一行应出现 AES-256

zip打包要加上的AES256与mhe两个参数-软领Win解压缩

用「软领Win解压缩」更省事

压缩包加密码:重新打包 zip 时直接设定密码,并让文件名与目录一并加密,从源头避免出现「设了密码却还能看到文件名」的情况。

创建压缩包时就能把密码和加密方式一次设好,不用记 -mem=AES256、-mhe=on 这些参数,文件名加密跟着生效,少一步就少一个漏洞。

软领Win解压缩创建压缩包时设置密码并加密文件名-软领Win解压缩

软领是知名国产软件品牌,20 年技术沉淀、服务千万用户;软领官网 wyouhua.com 直接下载,安装无捆绑勾选项,遇到拿不准的包也可以在软件里点客服按钮联系真人客服,复杂情况有工程师远程协助。

软领Win解压缩下载

方法3 换个解压软件验证,不输密码还能不能列出文件名

用另一个解压软件打开新包:不输密码就看到文件名,说明文件名加密没生效。

验证时别用打包时那个软件,它缓存过的旧密码会把结果带偏。

操作步骤

  1. 换一个解压软件(7-Zip、WinRAR 等)打开刚生成的 zip,不要用打包时那个软件
  2. 观察是否在弹出密码框之前就列出了文件名和目录
  3. 在解压软件设置里关掉「记住密码 / 缓存密码」,避免旧密码自动填充影响判断
  4. 对敏感包再用文件内容搜索类工具做一次关键词扫描,确认扫不出内容片段

验证zip文件名加密是否生效的三种结果分支-软领Win解压缩

方法4 清理旧包:zip 密码不能直接改,只能重建

改密码的唯一路径是解压后重新打包;老的 ZipCrypto 包建议直接删除重建,别只靠改密码。

已经生成的包没法把加密方式原地换成 AES,压缩算法是打包时写进每个条目的,只能重来一次。

操作步骤

  1. 把旧包里的文件完整解压到临时文件夹,核对文件数量与总大小是否一致
  2. 按 AES 规则重新打包:7z a -tzip -p"新密码" -mem=AES256 -mhe=on 新包.zip 解压出的文件
  3. 早期 ZipCrypto 包不要试图在原包上改密码,直接删除旧包再重建
  4. 把新包放回原位置,顺手检查回收站、云同步目录里有没有残留未加密的旧副本

老zip包与AES包按加密方式分层处理的思路-软领Win解压缩

常见问题

zip加密码后,为什么还能看到里面的文件名?

打包时用的是 ZipCrypto 老式加密,密码只保护文件内容,文件名和目录结构仍是明文,所以不输密码也能列出清单。重打包时加上 -mhe=on,文件名才会一起被加密。

zip怎么设置aes加密,一定要用命令行吗?

不一定要命令行。命令行的写法是 7z a -tzip -p"密码" -mem=AES256 -mhe=on 输出.zip 文件,也可以用带加密选项的压缩软件在打包时选好 AES-256,关键是把加密方式指定成 AES-256。

7z 的 -mhe=on 是什么意思,不加会怎么样?

-mhe=on 是加密头信息,打开后文件名和目录结构也一起加密,不输密码连清单都列不出来。不加的话内容有加密,文件名还是明文,扫描工具能看出你包里放了哪些东西。

zip加密文件怎么清除密码,原包能直接改密码吗?

原包改不了。要把文件完整解压出来,再用新密码重新打一个 AES-256 的包,核对文件数量和总大小一致后,再把旧包删掉。

老式 ZipCrypto 的 zip 包还能手动改成 AES 吗?

不能原地转换。AES 是打包时写进条目的加密方式,已经生成的 ZipCrypto 包只能解压后用 AES 规则重建,旧包别留在硬盘或云同步目录里。

推荐阅读

加密压缩文件如何解密?先解压再重新压缩,密码留空即可

压缩包怎么加密码发给别人

文件名怎么批量修改个别字,只换中间那几个字、前后缀原样保留

相关推荐

解压后文件名乱码如何解决?正确编码解压与批量改名指南

zip文件怎么解压不了 解压后文件名全是乱码 4种编码匹配法

CRC校验失败是密码输错还是压缩包损坏,先分清原因再动手修

jpg图片太大打不开,先看体积和像素再决定压缩还是换源文件

极限压缩会损坏文件吗,真正压坏压缩包的是断电、坏道和内存不足

文件夹怎么压缩才能让对方顺利解压,从选格式到发送前自检

zip加密文件名zip怎么设置aes加密zip压缩包加密软领Win解压缩
Win解压缩下载

客服
扫描与客服沟通

回顶部
提示

正在拉起鸿蒙应用市场,如遇无法拉起/无法下载的情况,可使用鸿蒙设备,自行前往应用市场,搜索「Win解压缩」安装。

知道了