Я использовал zip4j для архивирования определенных файлов. Он может правильно заархивировать и при извлечении запрашивает также пароль. Так далеко, так иди. Теперь проблемы, с которыми я сталкиваюсь
- После шифрования с помощью пароля вы можете увидеть имя файла, если откроете с помощью 7zip [есть ли способ это сделать?]
- Вы можете добавить новые файлы в 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);