SevenZip con cifratura AES256

di il
8 risposte

SevenZip con cifratura AES256

Buongiorno a tutti del forum,

Sto aggiornando un SW che si occupa di comprimere delle folder che contengono i file e si presentano in una path specifica.

Il SW ha operato generando ZIP, ZIP con password, PGP e altro. Quello che mi è stato richiesto è di integrare SevenZip (.7s) con AES256.

Ho girato un poi in giro su Internet ma non ho trovato molto.

Domanda: Sapete dell'esistenza di una library per risolvere il mio problema ?

Saluti

cnesan

8 Risposte

  • Re: SevenZip con cifratura AES256

    Ciao, facendo una ricerca in rete ho trovato questa libreria, sembra essere in grado di comprimere i file .7s

    https://github.com/cstroe/SevenZip-Java

  • Re: SevenZip con cifratura AES256

    Ti ringrazio per la risposta. 

    In realtà ho già visto questa libreria assieme ad tante altre ma hanno tutti uno dei seguenti problemi: non cifrano con la password (AES256) e/o non supportano la compressione di più file.

    Grazie comunque.

  • Re: SevenZip con cifratura AES256

    Ciao, la libreria net.sf.sevenzip ti da la possibilità di inserire una password ai file che comprimi in .7s utilizzando le seguenti righe:

    SevenZip sz = new SevenZip();
    sz.setPassword(stringa_password);
    sz.compress(percorso_file_normale, percorso_destinazione);

    puoi mettere la codifica AES256 alla tua stringa_password in questo modo:

    includi questa classe nel tuo progetto https://gist.github.com/casimir/2a6313863df2d0d0cb8bd11658f98bf2

    e poi la istanzi e chiami il metodo encrypt a cui passi la tua stringa_password, in questo modo:

    String stringa_password = "pippo";
    AES aes = new AES();
    stringa_password = aes.encrypt(stringa_password);
  • Re: SevenZip con cifratura AES256

    L'unica cosa a cui devi prestare attenzione è che la libreria net.sf.sevenzip non è presente nel maven repository perciò va implementata inserendo il suo jar (sevenzipjbinding.jar) nella cartella libs ed indicando il percorso del jar nel pom.xml

    <dependencies>
            <dependency>
                <groupId>net.sf</groupId>
                <artifactId>sevenzipjbind</artifactId>
                <version>16.02</version>
                <scope>system</scope>
                <systemPath>${pom.basedir}/libs/sevenzipjbinding.jar</systemPath>
            </dependency>
    </dependencies>
  • Re: SevenZip con cifratura AES256

    EDIT: come non detto... la libreria net.sf.sevenzip funziona ma mi da problemi con il metodo setPassword

    invece l'encrypt AES per la password funziona

    in giornata guardo se to trovo una soluzione per l'assegnazione della password al file compresso

  • Re: SevenZip con cifratura AES256

    Ok ti ringrazio,

    al momento sto optando per lanciare un tool esterno 7z.exe usando "ProcessBuilder".

    A riga  di comando 7z.exe funziona. Ora devo vedere in un contesto Java!!

  • Re: SevenZip con cifratura AES256

    Ciao,

    hai provato con sevenzipjbinding https://github.com/borisbrodski/sevenzipjbinding 

  • Re: SevenZip con cifratura AES256

    @cnesan

    https://docs.aspose.com/zip/java/working-with-7z-archives/

Devi accedere o registrarti per scrivere nel forum
8 risposte