2013-02-26 4 views
6

Ich möchte verschlüsseln erstellen Passwort geschützt ZIP: tutWie Zip-Datei mit 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); 

aber nur verschlüsseln Dateien in Zip, aber ich kann diese Zip öffnen und beobachten Datei im Inneren

+0

Mögliche doppelte: http://stackoverflow.com/questions/166340/write-a-password-protected-zip-file-in-java – benzonico

+4

Ich denke nicht so. In Ihrem Thread gibt es eine Liste von Bibliotheken, mit denen Sie zip erstellen können, aber ich wähle eine und ich brauche Hilfe damit – hudi

Antwort

1

Zip4j unterstützt die Verschlüsselung der Dateiliste aufgrund von Patentproblemen nicht.

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

Update:

Wie im Link angegeben. Die Zip-Spezifikation beinhaltet nicht die Verschlüsselung der Dateiliste. Um die Dateinamen auszublenden, können Sie eine Zip-Datei erstellen, die Ihre Dateien enthält, indem Sie sie erneut komprimieren. Wenn Sie also zip2.zip öffnen, sehen Sie nur "zip1.zip" und nicht die ursprünglichen Dateinamen.

2

Zip4j unterstützt die Verschlüsselung der Dateiliste ...

Key features:

  • erstellen, hinzufügen, Extract, Update, Entfernen von Dateien aus einer ZIP-Datei
  • Read/Write-Passwort Geschützte Zip-Dateien
  • Unterstützt AES 128/256 Verschlüsselung
  • Unterstützt Standard-Zip Verschlüsselung
  • Unterstützt Zip64 Format
  • Unterstützt Store (keine Kompression) und Komprimierungsverfahren
  • Deflate Dateien von Split Zip-Dateien erstellen oder extrahieren (Ex: z01, z02, ... zip)
  • Unterstützt Namen Unicode-Datei
  • Progress Monitor

einen Blick auf diese Beispielcode 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);