SevenZip con cifratura AES256

di cnesan il
8 risposte

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

  • 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.

  • 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);
  • 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>
  • 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

  • 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!!

Devi accedere o registrarti per scrivere nel forum
8 risposte