Zip4j позволяет пользователю обновлять зашифрованный почтовый индекс 7zip - PullRequest
0 голосов
/ 23 мая 2019

Я использовал 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);

1 Ответ

1 голос
/ 27 мая 2019

Функция, которую вы ищете, называется «Сильное шифрование» согласно спецификации формата Zip .Раздел "7.0 Strong Encryption Specification" в ссылке описывает этот стандарт шифрования.Этот метод также шифрует информацию заголовка почтового индекса, что делает невозможным изменение файла почтового индекса без пароля.Тем не менее, эта функция запатентована и защищена патентом.AFAIK, библиотекам / приложениям необходимо разрешение для реализации / поддержки этой функции.В настоящий момент Zip4j не поддерживает эту функцию.

...