Gibt es Komprimierungs- und Verschlüsselungsbibliotheken in C #?
-
09-06-2019 - |
Frage
Ich möchte einige Dateien komprimieren (in den ZIP -Format) und verschlüsseln sie, wenn möglich, mit C #. Gibt es eine Möglichkeit, dies zu tun?
kann die Verschlüsselung als Teil der Kompression selbst getan werden?
Lösung
Für Kompression, schauen Sie sich die System.IO.Compression
Namespace und für die Verschlüsselung Blick auf System.Security.Cryptography
.
Andere Tipps
Für die ZIP-Komprimierung, haben Sie gesehen, http://www.icsharpcode.net/OpenSource/SharpZipLib /
Ich weiß, dass die Frage schon alt ist, aber ich muss meine zwei Cent hinzufügen.
Zunächst einige Definitionen:
- Zip :. Archiv-Format für Dateien und Ordner in eine einzige Datei Umgruppierung und Daten optional die Verschlüsselung
- Deflate : Eine der Kompressionsalgorithmen in einer Zip-Datei verwendet, um die Daten zu komprimieren. Die beliebteste.
- GZIP . Eine einzelne Datei mit deflate komprimiert, mit einem kleinen Kopf- und Fußzeile
Nun System.IO.Compression hat nicht tun Zip-Archivierung. Es tut deflate und gzip Kompression, wird somit ein einzige Klecks Daten in einer anderen einzelnen Klecks Daten komprimiert.
Also, wenn Sie suchen ein Archivformat, die Gruppe kann viele Dateien und Ordner, Sie Zip-Bibliotheken wie müssen:
- Xceed Zip (es starke Verschlüsselung nicht unterstützt)
- SharpZipLib
Wenn Sie nur zu komprimieren und einen einzigen Klecks Daten zu verschlüsseln, dann schauen Sie unter System.IO.Compression und System.Security.Cryptography .
Die GZipStream Klasse ist eine native Weg zu handhaben Kompression.
Wie für die Verschlüsselung gibt es viele Wege , es zu tun, die meisten von ihnen im System.Security Namespace. Sie können getan verkettet werden (einen komprimierten Strom verschlüsseln oder einen verschlüsselten Strom komprimiert).
Chilkat bietet .NET-Bibliotheken für die Komprimierung und Verschlüsselung.
Ich bin mir nicht sicher, ob die Schritte kombiniert werden können, aber .NET für grundlegende Krypto gute Unterstützung hat. Hier ist ein Artikel rel="nofollow .
Wenn sie können nicht kombiniert werden, tun Kompression und dann Verschlüsselung. eine bereits verschlüsselte Datei komprimieren zu einer schlechten Druckverhältnisse führen wird, weil eine Menge Redundanz entfernt wird.
Hier ist ein nützliches Thema:
Hilfe Zip-Dateien bei der Erstellung von .Net und sie von Java
Lesen System.IO.Packaging Namespace gibt Ihnen nützliche Klassen Daten im Zip-Format zu komprimieren und
Es gibt nichts, was Sie können direkt in C # verwenden, jedoch können Sie einige Bibliotheken von J # verwenden Sie es für Sie zu tun: http://msdn.microsoft.com/en-us/magazine /cc164129.aspx Wenn Sie genau das, was Sie wollen? Im Hinblick auf die Verschlüsselung, haben einen Blick auf diese Links gilt: http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx