Package ru.protek.component.xzip

Небольшой довесок до стандартной бибилиотеки java.util.zip с шифрацией архива паролем.

See:
          Description

Interface Summary
XZipConstants Константы для зипа.
 

Class Summary
XCRC32 The checksum implamintation.
XZipEntry This class is used to represent a ZIP file entry.
XZipInputStream Это моя переделка класса java.util.zip.ZipInputStream.
XZipOutputStream Это моя переделка класса java.util.zip.ZipOutputStream.
 

Package ru.protek.component.xzip Description

Небольшой довесок до стандартной бибилиотеки java.util.zip с шифрацией архива паролем. Расширение стандартного пакета с возможностью шифровать zip архивы паролем. Шифрация старая. Для версии zip 2.0 Работать со всем этим точно так же как с java.util.zip.

Заменены по существу только классы

  ZipOutputStream  -->  XZipOutputStream
  ZipInputStream   -->  XZipInputStream
  ZipEntry         -->  XZipEntry
 

В классах XZipOutputStream и XZipInputStream добавлены свойства

  String password             пароль
  String passwordEncode       кодировка пароля.
 

Примеры использования.

Зипуется файл "test1.xml" в архив "crypt.zip" с паролем "vlad":

  FileOutputStream fo = new FileOutputStream("crypt.zip");
  XZipOutputStream zo = new XZipOutputStream(fo);
  zo.setPassword("vlad");
  zo.setPasswordEncode("Cp1256");
  FileInputStream fi = new FileInputStream("test1.xml");
  zo.putNextEntry(new XZipEntry("test1.xml"));
  int c;
  while ((c = fi.read()) != -1) {
      zo.write(c);
  }
  zo.close();
 

Из криптованного паролем "vlad" архива "crypt.zip" извлекаются все файлы:

  XZipEntry ze;
  FileOutputStream fo;
  FileInputStream fi = new FileInputStream("crypt.zip");
  XZipInputStream zi = new XZipInputStream(fi);
  zi.setPassword("vlad");
  zi.setPasswordEncode("Cp1256");
  for(ze = zi.getNextEntry(); ze != null; ze = zi.getNextEntry()) {
      fo = new FileOutputStream(ze.getName() + ".decrypt");
      for(int r = zi.read();r >= 0; r = zi.read()) fo.write(r);
      fo.close();
      zi.closeEntry();
  }
  zi.close();