gpt4 book ai didi

java - Zip4j 允许用户通过 7zip 更新加密的 zip

转载 作者:行者123 更新时间:2023-12-02 09:51:50 25 4
gpt4 key购买 nike

我使用 zip4j 来压缩某些文件。它能够正确压缩,并且在解压时也要求输入密码。到目前为止就这样吧。现在我面临的问题

  1. 用密码加密后,如果用7zip打开就可以看到文件名[有什么办法可以解决这个问题吗?]
  2. 您可以将新文件添加到 zip 中,只需通过 7zip 打开它并拖动将添加的新文件,并且还允许在没有密码的情况下提取该文件。 [需要禁用此功能吗?]

我的要求是锁定一些文件,并且用户不应该能够使用 zip 进行操作。 (第1点也可以忽略)

我还有其他的吗?

final ZipFile zipFile = new ZipFile(outputFile);

final ArrayList filesToAdd = new ArrayList();
for (final String file : fileList) {
filesToAdd.add(new File(file));
}
// Initiate Zip Parameters
final ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); // set compression method to
// deflate compressio
// Set the compression level.
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
parameters.setEncryptFiles(true);
// Set the encryption method to Standard Zip Encryption
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
// Set password
parameters.setPassword(password);

zipFile.addFiles(filesToAdd, parameters);

最佳答案

您正在寻找的功能称为“强加密”,如 Zip format specification 。链接中的“7.0 强加密规范”部分涵盖了该加密标准。该技术还对 zip header 信息进行加密,因此如果没有密码就无法修改 zip 文件。然而,此功能是专有的并受专利保护。 AFAIK,库/应用程序需要许可才能实现/支持此功能。 Zip4j 目前不支持此功能。

关于java - Zip4j 允许用户通过 7zip 更新加密的 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56273295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com