ru.protek.component.xzip
Небольшой довесок до стандартной бибилиотеки 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();