我可以创建一个压缩文件并使用zip4j库添加文件,但问题是密码只为压缩文件中的文件设置,所以我能够打开压缩文件并看到文件列表,这是我不想要的。我想为zip压缩文件设置一个密码。
有什么建议吗?
发布于 2021-12-02 06:56:29
这不是库的错-- Zip format does not support this
压缩文件格式是这样的:添加到压缩文件的文件是加密的,而压缩文件本身不是加密的。因此,任何用户都可以打开Zip文件并查看文件列表,即使这些文件是加密的。但是,用户将无法提取或查看加密的文件,除非他或她输入正确的密码对其进行解密。
要隐藏加密Zip文件中的文件名,可以对其进行双重压缩。
因此,您可以从您的.zip为此创建一个.zip。在任何其他方式下,这似乎都不可能。
编辑:@oleg.cherednik指出,当前版本的压缩规范do support this,但这种支持似乎没有在库中实现。因此,在实践中,您需要对文件进行双压缩。
发布于 2022-01-09 23:12:39
这是APPNOTE.TXT - .ZIP File Format Specification。您可以找到7.3单一密码-中央目录加密。问题是这个功能是受保护的,而且看起来不是公共访问的。您找不到任何支持此功能的开源工具。(相信我,我已经试过了)。
只有一个应用程序支持这一点,那就是PKWARE的SecureZIP for Windows。你也可以找到这个工具的免费版本。
在java应用程序中,您所能做的就是将文件压缩两次。
https://stackoverflow.com/questions/70122528
复制相似问题