Leo*_*los 28 command-line directory encryption zip filenames
使用命令行,我知道我可以使用以下命令加密目录:
zip -er Directory.zip /path/to/directory
Run Code Online (Sandbox Code Playgroud)
但是,这不会加密文件名本身。如果有人跑:
unzip Directory.zip
Run Code Online (Sandbox Code Playgroud)
并反复输入错误的密码,解压缩命令将遍历所有包含的文件名,直到输入正确的密码。示例输出:
unzip Directory.zip
Archive: Directory.zip
creating: Directory/
[Directory.zip] Directory/sensitive-file-name-1 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-1 incorrect password
[Directory.zip] Directory/sensitive-file-name-2 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-2 incorrect password
[Directory.zip] Directory/sensitive-file-name-3 password:
password incorrect--reenter:
password incorrect--reenter:
skipping: Directory/sensitive-file-name-3 incorrect password
Run Code Online (Sandbox Code Playgroud)
等等。
使用命令行,有没有办法用加密压缩目录,同时加密或隐藏文件名本身?
谢谢你。
Gil*_*il' 36
在 zip 文件中,仅加密文件内容。文件元数据(包括文件名)未加密。这是文件格式的限制:每个条目都单独压缩,如果加密,则单独加密。
您可以改用7-zip。它支持元数据加密(-mhe=on使用 Linux 命令行实现)。
7z a -p -mhe=on Directory.7z /path/to/directory
Run Code Online (Sandbox Code Playgroud)
所有主要操作系统和大多数次要操作系统都有 7zip 实现,但这可能需要安装额外的软件(现在 IIRC Windows 可以解压缩加密的 zip 文件)。如果需要 7z 进行解密是一个问题,那么您只能通过首先使用 zip 将目录打包到单个文件中,然后对该文件进行加密来依赖 zip。如果这样做,请关闭单个文件的压缩并指示外部 zip 压缩 zip 文件,您将获得更好的整体压缩率。
zip -0 -r Directory.zip /path/to/directory
zip -e -n : encrypted.zip Directory.zip
Run Code Online (Sandbox Code Playgroud)