首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >7z加密文件名怎么设置,4 步做完,输错密码也看不到包内文件名

7z加密文件名怎么设置,4 步做完,输错密码也看不到包内文件名

原创
作者头像
软领
发布于 2026-09-24 09:38:36
发布于 2026-09-24 09:38:36
600
举报

压缩包设了密码,对方双击时本应先弹密码框。实际情况常常相反:密码框还没出现,里面有哪些文件已经整齐列在窗口里了。

一个叫「2026年采购合同-张三.pdf」的文件名,本身就说明了包里的内容。合同、客户名单、证件扫描件这类名字露出去,信息已经泄露了一部分,和内容加没加密没有关系。

这个问题跟操作出错无关,压缩包也没坏,原因在格式本身。先分清「只防内容被看」和「连文件名一起藏」两种需求,再动手压,能省掉压完重做的返工。下面的操作在 Windows 10/11 上实测可用。

为什么设了密码还能看到文件名

zip 的密码保护的是文件内容,不保护文件目录。文件名列表写在压缩包的头部,而 zip 的头部是明文存放的,任何解压工具都能直接读出来,不需要密码。

7z加密文件名保护的对象是压缩包的头部,头部存的就是这份文件列表。压缩工具的「添加到压缩包」窗口里确实有这个勾选项(英文界面为 Encrypt file names),但它在 zip 格式下不生效,只有 7z 格式会把头部和内容一起加密。

  • zip:内容加密,文件名列表明文,谁都能看到
  • 7z,不勾加密文件名:内容加密,文件名列表同样是明文
  • 7z,勾选加密文件名:头部一起加密,没有口令连列表都读不出来

判断标准只有一条:文件名列表本身算不算隐私。合同名、客户名、证件名、体检报告这类,露出去就有影响,必须走第三条路;一批培训素材、公开文档,zip 加密码已经够用。

第一步 先确认要不要隐藏文件名

这一步花一分钟,决定后面压成 zip 还是 7z。判断错了,整包要重压一次。

  • 先问清用途:只防内容被看,还是连「里面有哪些文件」也不想让对方看到
  • 只防内容:右键 → 添加到压缩包 → 设置密码,格式用 zip 没关系
  • 要藏文件名:格式必须选 7z,并勾选「加密文件名」,zip 做不到这一点
  • 判断依据:文件名列表本身算不算隐私,比如合同名、客户名、证件名

拿不准的时候直接看文件名。像「2026年体检报告-李四.pdf」这种名字,露出去就已经泄露了信息,按隐藏文件名处理;如果是一批培训素材、公开文档,zip 加密码足够。

这一步判断错了,后面全是白做:zip 的密码对文件列表不起作用,勾选项里也找不到「加密文件名」的入口,只能重新压成 7z 再发一次。

第二步 用 7z 格式重新压一次

在「添加到压缩包」窗口里选 7z 格式、输两次密码、勾上「加密文件名」,确定即可。这是让文件列表一起消失的关键动作。

  1. 选中要压缩的文件或文件夹,右键菜单里选「添加到压缩包」
  2. 压缩格式选 7z;zip 格式即使设了密码,文件列表依然可见
  3. 在密码框和确认密码框各输一次,勾选「加密文件名」
  4. 加密方式选 AES-256,确定后生成 .7z 文件

命令行等价写法:

代码语言:powershell
复制
& "C:\Program Files\7-Zip\7z.exe" a -p -mhe=on 包名.7z 目标文件夹

两个参数要记住:-p 表示设置密码,后面留空时会在运行时提示输入;-mhe=on 表示加密文件头,也就是把文件名列表一起锁住。少写 -mhe=on,等于只加密了内容,列表照样露在外面。

不要把密码直接写在 -p 后面,改成运行时交互输入。命令历史、进程列表都可能被别人看到,密码写在参数里等于没加密。

想要体积更小可以再加 -mx=9,把压缩等级拉满,代价是压缩时间变长:

代码语言:powershell
复制
& "C:\Program Files\7-Zip\7z.exe" a -p -mhe=on -mx=9 包名.7z 目标文件夹

压缩完成后顺手改一个中性的包名。「2026年客户合同.7z」这个名字本身就带着信息,而加密文件名保护的是包里的文件列表,包名谁都能看到。密码建议 12 位以上,字母数字混合,不要用生日。

第三步 解压验证加密文件名是否生效

双击 .7z 应该先弹密码输入框、文件列表为空;故意输错密码仍然看不到文件名,才算真的生效。

  1. 双击 .7z:先弹密码输入框,此时文件列表应该是空的
  2. 故意输错密码:列表依然不显示,说明文件名已经加密
  3. 对比排查:普通 zip 输错密码或点取消之后,文件名照样列出来
  4. 命令行核对:执行 7z l -slt 包名.7z,看输出里的 Encrypted 与 Headers 加密标记
  5. 换一台电脑、换一款解压工具再打开一次复核,避免本机缓存造成误判

命令行核对时重点看两行:Encrypted = + 表示内容已加密;Headers 那一行出现 Encrypted 标记,表示文件头也就是文件名列表已加密。只有第二项为真,文件列表才算藏住了。

代码语言:powershell
复制
& "C:\Program Files\7-Zip\7z.exe" l -slt .\包名.7z

如果双击后列表直接显示出来,说明压缩时没勾「加密文件名」,或者格式其实是 zip。这种情况重新压一次,别在原来的包上反复设密码,头部改不动。

第四步 密码分发与忘记密码的兜底

密码和压缩包不要走同一条渠道。

  • 密码另走短信、电话或另一条消息,不要和 .7z 放在同一封邮件里
  • 别把密码写进文件名或邮件备注,比如「资料-密码123」这种写法
  • 在密码管理器里存一份,方便自己和接收方后续取用
  • 已经勾选加密文件名又忘了密码:没有口令打不开,只能重新压缩
  • 对方迟迟没收到密码时,重新生成一个新 .7z 比事后补发更稳

实际操作里,压缩包和密码分两条路走最稳:邮件发 .7z,微信或电话口头说密码。AES-256 加密的文件头没有正确口令就无法还原,这一点对双方都一样,所以密码丢了不用试工具,找回原文件重新压一遍更快。

手机上打开会漏文件名吗

规则一样,取决于压缩时有没有勾选加密文件名。勾了,手机上的解压软件同样先要密码;没勾,手机上照样能直接看到文件列表。这一条在 Android 和 iOS 上都成立,跟用哪款 App 无关,重新在电脑上压一次就能修好。

什么情况下这套流程不适用

场景

说明

对方的环境只认 zip

7z 格式打不开,只能回退到 zip;此时文件名保护做不到,建议改用其他传输方式

需要分卷发送大文件

7z 支持分卷,但每个分卷都要一起带上,缺一个就解不开

走在线解压服务

文件名会先被列出来,不要用这类通道传敏感包

只想防内容被看

zip 加密码已经够用,不必多压一遍

几个边界说清楚:

  • 加密文件名保护的是包里的列表,包名、体积、修改时间这些元数据依然可见
  • AES-256 的加密强度够,但密码太弱一样能被猜出来,长度比复杂度更容易记也更有用
  • 这套流程只在 Windows 10/11 上逐台试过,更早的系统上压缩工具版本较老,界面位置可能不一样,参数含义不变

常见问题

7z加密文件名怎么设置,才能让对方看不到文件列表

压缩时格式选 7z,在「添加到压缩包」窗口里勾选「加密文件名」,密码输两次,确定后生成的 .7z 双击就会先要密码,列表是空的。

勾选之后输错密码,还能看到文件名吗

看不到。勾选后文件头一起加密,输错密码或者直接点取消,窗口里只显示压缩包本身,里面的文件名一个都不会列出来。

加了密码文件名照样能看,是哪里错了

大概率是格式选成了 zip,或者漏勾了「加密文件名」。zip 的密码只保护内容,文件名列表是明文的,重压一次改成 7z 并勾选即可。

密码忘了,加密的文件名还能解开吗

打不开。勾选加密文件名后,没有正确口令文件头无法还原,文件名和内容都读不出来,只能找回原文件重新压一次。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 为什么设了密码还能看到文件名
  • 第一步 先确认要不要隐藏文件名
  • 第二步 用 7z 格式重新压一次
  • 第三步 解压验证加密文件名是否生效
  • 第四步 密码分发与忘记密码的兜底
  • 手机上打开会漏文件名吗
  • 什么情况下这套流程不适用
  • 常见问题
    • 7z加密文件名怎么设置,才能让对方看不到文件列表
    • 勾选之后输错密码,还能看到文件名吗
    • 加了密码文件名照样能看,是哪里错了
    • 密码忘了,加密的文件名还能解开吗
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档