In un post precedente, abbiamo esplorato vari metodi per creare archivi ZIP utilizzando C#. Questo articolo espanderà quella conoscenza concentrandosi sul formato 7z, che si basa su un’architettura open-source e offre un alto rapporto di compressione. In particolare, 7z supporta la crittografia AES a 256 bit, consentendo di proteggere non solo i file ma anche i loro nomi.
In questa guida, imparerai come creare archivi 7z (7-Zip) programmaticamente utilizzando C#. Copriremo:
- Creare un archivio 7z con un’unica voce
- Creare un archivio 7z crittografato AES
- Impostare password diverse per le voci 7z
Tutti gli esempi e i frammenti di codice si basano sull’API Aspose.ZIP per .NET. Assicurati di avere l’API installata utilizzando uno dei seguenti metodi:
- Installa tramite NuGet Package Manager.
- Scarica il DLL e aggiungi il suo riferimento al tuo progetto.
Crea archivio 7z (7-Zip) utilizzando C#
Puoi comprimere file in un archivio 7z in due scenari principali: quando si tratta di un singolo file o di più file. Ecco come gestire entrambe le situazioni.
Crea archivio 7z con un’unica voce
Per creare un archivio 7z con un singolo file, segui questi passaggi:
- Apri un nuovo FileStream per creare un file 7z.
- Crea un’istanza della classe SevenZipArchive.
- Aggiungi il file all’archivio utilizzando il metodo SevenZipArchive.CreateEntry(String, String, Boolean, SevenZipEntrySettings).
- Salva l’archivio utilizzando il metodo SevenZipArchive.Save(Stream).
Ecco un esempio di archivio C# 7z che dimostra i passaggi sopra:
Crea archivio 7z con più voci
Se hai bisogno di comprimere più file, puoi metterli in una cartella e passare il percorso della cartella al metodo SevenZipArchive.CreateEntries(). Segui questi passaggi:
- Crea un’istanza della classe SevenZipArchive.
- Passa il percorso della cartella al metodo SevenZipArchive.CreateEntries(String, Boolean).
- Chiama il metodo SevenZipArchive.Save(String).
Ecco come creare un archivio 7z con più voci utilizzando C#:
Crea un archivio 7z crittografato AES utilizzando C#
Il formato 7z supporta la crittografia AES per una maggiore sicurezza. Per crittografare un file 7z, utilizza la classe SevenZipAESEncryptionSettings. Di seguito è riportato un esempio di codice che dimostra come creare un archivio 7z crittografato AES utilizzando C#:
Imposta password diverse per le voci 7z utilizzando C#
Il formato 7z consente anche di assegnare una password unica per ciascuna voce di file. Se stai comprimendo più file, puoi specificare password diverse per ciascuno. Ecco come fare:
- Crea un nuovo FileStream per il file dell’archivio 7z.
- Accedi a ciascuna voce di file utilizzando la classe FileInfo.
- Crea un’istanza della classe SevenZipArchive.
- Aggiungi voci all’archivio 7z utilizzando il metodo SevenZipArchive.CreateEntry(String, FileInfo, Boolean, SevenZipEntrySettings).
- Salva l’archivio utilizzando il metodo SevenZipArchive.Save(Stream).
Controlla il seguente esempio di codice per vedere come impostare password diverse per ciascuna voce in un archivio 7z:
Conclusione
In questo articolo, abbiamo trattato come creare archivi 7z programmaticamente utilizzando C#. Abbiamo anche esplorato come implementare la crittografia AES per una maggiore sicurezza e come impostare password uniche per ciascuna voce di file. Per ulteriori letture sulla compressione e decompressione dei file, puoi controllare la documentazione di Aspose.ZIP.
Articoli Correlati
Sfruttando il plugin Aspose per .NET, puoi integrare facilmente la compressione .NET 7-Zip nelle tue applicazioni, semplificare i tuoi processi di gestione dei file e migliorare le capacità del tuo software. Per soli $99, puoi sbloccare funzionalità potenti che supportano la gestione di file di grandi dimensioni, la compressione asincrona e altro ancora.