Я занимаюсь разработкой приложения для Android, которое требует распаковывать зашифрованные zip-файлы AES-256 , есть ли какие-нибудь библиотеки, которые я могу использовать для этого?
Я очень благодарен за любое руководство или помощь.
zip4j , Java-библиотека для обработки Zip-файлов (с открытым исходным кодом, Apache License v2.0).
http://www.lingala.net/zip4j/
Вы можете скачать двоичные файлы, источники и примеры.
Я использовал внешнюю библиотеку на http://code.google.com/p/winzipaes/
ограничено сжатием / распаковкой Zip-файлов, зашифрованных AES-256 ONLY
но, по крайней мере, это соответствует моим потребностям.
Это зависит от того, какая у вас кодировка зашифрованных zip-файлов. Будьте более конкретным, пожалуйста. Если его сжать, а затем зашифровать, то вы распакуете, а затем расшифруете файл, используя java.util.zip.GZIPInputStream
Я работаю над обычной JRE.Используя http://www.lingala.net/zip4j/, следующий код работает для расшифровки zip-файла:
ZipFile zipFile = new ZipFile(zipFile); zipFile.setPassword(password); for (Object fileHeaderObj : zipFile.getFileHeaders()) { FileHeader fileHeader = (FileHeader) fileHeaderObj; String fileName = fileHeader.getFileName(); ZipInputStream zipIn = zipFile.getInputStream(fileHeader); // do whatever with the input stream }
Насколько я помню, за последние несколько лет WinZip впервые представил несколько зашифрованных ZIP-файлов AES.На домашней странице WinZip есть подробное объяснение того, как зашифрованные AES ZIP-файлы отличаются от стандартного ZIP-файла:
http://www.winzip.com/aes_info.htm
Я еще не проверял, но некоторое время назад я нашел это .
Я надеюсь, что это может помочь вам