压缩包设了密码,对方双击时本应先弹密码框。实际情况常常相反:密码框还没出现,里面有哪些文件已经整齐列在窗口里了。
一个叫「2026年采购合同-张三.pdf」的文件名,本身就说明了包里的内容。合同、客户名单、证件扫描件这类名字露出去,信息已经泄露了一部分,和内容加没加密没有关系。
这个问题跟操作出错无关,压缩包也没坏,原因在格式本身。先分清「只防内容被看」和「连文件名一起藏」两种需求,再动手压,能省掉压完重做的返工。下面的操作在 Windows 10/11 上实测可用。
zip 的密码保护的是文件内容,不保护文件目录。文件名列表写在压缩包的头部,而 zip 的头部是明文存放的,任何解压工具都能直接读出来,不需要密码。
7z加密文件名保护的对象是压缩包的头部,头部存的就是这份文件列表。压缩工具的「添加到压缩包」窗口里确实有这个勾选项(英文界面为 Encrypt file names),但它在 zip 格式下不生效,只有 7z 格式会把头部和内容一起加密。
判断标准只有一条:文件名列表本身算不算隐私。合同名、客户名、证件名、体检报告这类,露出去就有影响,必须走第三条路;一批培训素材、公开文档,zip 加密码已经够用。

这一步花一分钟,决定后面压成 zip 还是 7z。判断错了,整包要重压一次。
拿不准的时候直接看文件名。像「2026年体检报告-李四.pdf」这种名字,露出去就已经泄露了信息,按隐藏文件名处理;如果是一批培训素材、公开文档,zip 加密码足够。
这一步判断错了,后面全是白做:zip 的密码对文件列表不起作用,勾选项里也找不到「加密文件名」的入口,只能重新压成 7z 再发一次。
在「添加到压缩包」窗口里选 7z 格式、输两次密码、勾上「加密文件名」,确定即可。这是让文件列表一起消失的关键动作。
命令行等价写法:
& "C:\Program Files\7-Zip\7z.exe" a -p -mhe=on 包名.7z 目标文件夹两个参数要记住:-p 表示设置密码,后面留空时会在运行时提示输入;-mhe=on 表示加密文件头,也就是把文件名列表一起锁住。少写 -mhe=on,等于只加密了内容,列表照样露在外面。
不要把密码直接写在
-p后面,改成运行时交互输入。命令历史、进程列表都可能被别人看到,密码写在参数里等于没加密。
想要体积更小可以再加 -mx=9,把压缩等级拉满,代价是压缩时间变长:
& "C:\Program Files\7-Zip\7z.exe" a -p -mhe=on -mx=9 包名.7z 目标文件夹压缩完成后顺手改一个中性的包名。「2026年客户合同.7z」这个名字本身就带着信息,而加密文件名保护的是包里的文件列表,包名谁都能看到。密码建议 12 位以上,字母数字混合,不要用生日。

双击 .7z 应该先弹密码输入框、文件列表为空;故意输错密码仍然看不到文件名,才算真的生效。
7z l -slt 包名.7z,看输出里的 Encrypted 与 Headers 加密标记命令行核对时重点看两行:Encrypted = + 表示内容已加密;Headers 那一行出现 Encrypted 标记,表示文件头也就是文件名列表已加密。只有第二项为真,文件列表才算藏住了。
& "C:\Program Files\7-Zip\7z.exe" l -slt .\包名.7z如果双击后列表直接显示出来,说明压缩时没勾「加密文件名」,或者格式其实是 zip。这种情况重新压一次,别在原来的包上反复设密码,头部改不动。
密码和压缩包不要走同一条渠道。
实际操作里,压缩包和密码分两条路走最稳:邮件发 .7z,微信或电话口头说密码。AES-256 加密的文件头没有正确口令就无法还原,这一点对双方都一样,所以密码丢了不用试工具,找回原文件重新压一遍更快。
规则一样,取决于压缩时有没有勾选加密文件名。勾了,手机上的解压软件同样先要密码;没勾,手机上照样能直接看到文件列表。这一条在 Android 和 iOS 上都成立,跟用哪款 App 无关,重新在电脑上压一次就能修好。
场景 | 说明 |
|---|---|
对方的环境只认 zip | 7z 格式打不开,只能回退到 zip;此时文件名保护做不到,建议改用其他传输方式 |
需要分卷发送大文件 | 7z 支持分卷,但每个分卷都要一起带上,缺一个就解不开 |
走在线解压服务 | 文件名会先被列出来,不要用这类通道传敏感包 |
只想防内容被看 | zip 加密码已经够用,不必多压一遍 |
几个边界说清楚:
压缩时格式选 7z,在「添加到压缩包」窗口里勾选「加密文件名」,密码输两次,确定后生成的 .7z 双击就会先要密码,列表是空的。
看不到。勾选后文件头一起加密,输错密码或者直接点取消,窗口里只显示压缩包本身,里面的文件名一个都不会列出来。
大概率是格式选成了 zip,或者漏勾了「加密文件名」。zip 的密码只保护内容,文件名列表是明文的,重压一次改成 7z 并勾选即可。
打不开。勾选加密文件名后,没有正确口令文件头无法还原,文件名和内容都读不出来,只能找回原文件重新压一次。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。