2013-02-26 11 views
6

voglio creare ZIP password protetta:come crittografare file zip utilizzando zip4j

// Set the compression level 
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); 

    // Set the encryption flag to true 
    // If this is set to false, then the rest of encryption properties are ignored 
    parameters.setEncryptFiles(true); 

    // Set the encryption method to Standard Zip Encryption 
    parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); 

    // Set password 
    parameters.setPassword(password); 

, ma questo solo crittografare i file all'interno di zip, ma posso aprire questa zip e guardare il file al suo interno

+0

Eventuali duplicati: http://stackoverflow.com/questions/166340/write-a-password-protected-zip-file-in-java – benzonico

+4

Io non la penso così. Nel tuo thread ci sono liste di librerie che puoi usare per creare zip ma ne scelgo una e ho bisogno di aiuto con essa – hudi

risposta

1

Zip4j fa non supporta la crittografia dell'elenco file a causa di problemi di brevetto.

Vedi: http://www.lingala.net/zip4j/forum/index.php?topic=104.0

Aggiornamento:

Come indicato nel link. La specifica zip non include la crittografia dell'elenco file. Per nascondere i nomi dei file, puoi creare un file zip includendo i tuoi file incapsulandolo di nuovo. Quindi se apri zip2.zip vedrai solo "zip1.zip" e non i nomi dei file originali.

2

Zip4j supporta la crittografia dei lista dei file ...

Key features:

  • Creare, aggiungere, estratto, aggiornare, rimuovere i file da un file Zip
  • lettura/scrittura della password File Zip protetti
  • Supporta crittografia AES 128/256
  • Supporta Zip standard di crittografia
  • supporta il formato Zip64
  • Supporta Store (senza compressione) e sgonfiare metodo di compressione
  • Creare o estrarre file da file Zip Split (Es: Z01, Z02, ... zip)
  • supporta nomi di file Unicode
  • Progress Monitor

Date un'occhiata a questo esempio di codice AddFilesWithAESEncryption.java:

// Initiate ZipFile object with the path/name of the zip file. 
ZipFile zipFile = new ZipFile("c:\\ZipTest\\AddFilesWithAESZipEncryption.zip"); 

// Build the list of files to be added in the array list 
// Objects of type File have to be added to the ArrayList 
ArrayList filesToAdd = new ArrayList(); 
filesToAdd.add(new File("c:\\ZipTest\\sample.txt")); 
filesToAdd.add(new File("c:\\ZipTest\\myvideo.avi")); 
filesToAdd.add(new File("c:\\ZipTest\\mysong.mp3")); 

// Initiate Zip Parameters 
ZipParameters parameters = new ZipParameters(); 
// set compression method to deflate compression 
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE); 
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA); 

// Set the encryption flag to true 
parameters.setEncryptFiles(true); 

// Set the encryption method to AES Zip Encryption 
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES); 

// Set AES Key strength. Key strengths available for AES encryption are: 
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256); 

// Set password 
parameters.setPassword("test123!"); 

// Now add files to the zip file 
zipFile.addFiles(filesToAdd, parameters); 
Problemi correlati