7-Zip需用7z格式并勾选“加密文件名”才能隐藏文件名;ZIP格式不支持,命令行需加-mhe=on参数;验证时应无文件列表且属性显示“Header: AES-256”。

如果您使用7-Zip对文件进行压缩加密,但他人仍能直接查看压缩包内文件名和目录结构,则说明仅启用了内容加密,未启用文件名加密功能。以下是实现“连文件名都不可见”的具体操作步骤:
一、使用7-Zip创建含文件名加密的.7z压缩包
7-Zip支持AES-256算法对压缩包内容及文件名同时加密,但该功能仅在7z格式下生效;ZIP格式不支持文件名加密,即使设置密码,文件列表仍可被预览。启用“加密文件名”后,未输入正确密码前,压缩包将完全不可读取——既看不到文件数量,也看不到任何文件名或路径。
1、选中需要保护的文件或文件夹,右键点击,选择“7-Zip”→“添加到压缩文件…”。
2、在弹出的压缩设置窗口中,将“压缩格式”明确设为7z(非ZIP或RAR)。
3、在“加密”区域,于“输入密码”和“重新输入密码”栏中输入至少8位、含大小写字母与数字的强密码。
4、务必勾选“加密文件名”复选框(该选项位于密码输入框下方,未勾选则文件名仍可见)。
5、确认“加密方法”为AES-256(默认即为此项,若不可见请升级至最新版7-Zip)。
6、点击“确定”,生成带完整加密的.7z文件;双击该文件时,将直接弹出密码输入框,无任何结构信息显示。
二、通过命令行强制启用文件名加密(高级用户)
图形界面操作可能受版本或系统策略限制,命令行方式可确保参数精准执行,适用于批量处理或脚本自动化场景。此方法绕过GUI潜在的默认设置偏差,显式声明文件名加密行为。
1、打开Windows终端(CMD或PowerShell),进入目标文件所在目录。
2、执行以下命令(将password123替换为实际密码,archive.7z为输出文件名,*代表全部文件):
7z a -p"password123" -mhe=on archive.7z *
3、其中-mhe=on是关键参数,表示“启用文件名加密”(header encryption on);缺少该参数则仅加密内容。
4、运行后生成的.7z文件在未输入密码时,用任何解压工具打开均显示为空或报错,无法枚举内部条目。
三、验证文件名是否真正加密
加密完成后需立即验证效果,避免因格式误选或选项遗漏导致防护失效。验证不依赖主观判断,而以第三方工具实际行为为准:使用未安装7-Zip的纯净系统(如他人电脑),尝试用系统自带解压功能或Bandizip等第三方软件打开该.7z文件。
1、双击压缩包,观察是否直接弹出密码输入框,而非显示文件列表窗口。
2、若出现文件列表、预览缩略图或“解压到”按钮,说明“加密文件名”未生效,需检查是否误选ZIP格式或未勾选对应选项。
3、在7-Zip主界面中,右键该.7z文件 → “属性”,查看“加密”字段是否显示“Header: AES-256”(含Header即表示文件名已加密);若仅显示“Content: AES-256”,则文件名未加密。
四、禁用Windows资源管理器预览泄露风险
即使压缩包本身已加密文件名,Windows资源管理器的缩略图缓存或预览窗格可能残留历史访问痕迹,导致文件名在缩略图、搜索结果或跳转列表中意外暴露。此为系统级侧信道风险,需主动关闭相关服务。
1、打开“文件资源管理器”,点击顶部“查看”选项卡,取消勾选“预览窗格”与“详细信息窗格”。
2、进入“查看”→“选项”→“更改文件夹和搜索选项”,在“查看”标签页中,勾选“始终显示图标,从不显示缩略图”。
3、在相同窗口中,点击“清除”按钮,清空“文件夹视图”缓存,防止旧索引残留可读文件名。
4、重启资源管理器进程(任务管理器 → 找到“Windows资源管理器” → 右键“重新启动”),使设置即时生效。

















