一部のファイルを( ZIP形式に)圧縮し、可能であればC#を使用して暗号化したい。これを行う方法はありますか?
圧縮自体の一部として暗号化を行うことはできますか?
一部のファイルを( ZIP形式に)圧縮し、可能であればC#を使用して暗号化したい。これを行う方法はありますか?
圧縮自体の一部として暗号化を行うことはできますか?
圧縮についてはSystem.IO.Compression
名前空間を、暗号化についてはを見てくださいSystem.Security.Cryptography
。
質問がすでに古いことはわかっていますが、2 セント追加する必要があります。
まず、いくつかの定義:
現在、System.IO.Compression はZip アーカイブを行いません。deflateとgzip圧縮を行うため、単一のデータの塊を別の単一のデータの塊に圧縮します。
したがって、多くのファイルとフォルダーをグループ化できるアーカイブ形式を探している場合は、次のような Zip ライブラリが必要です。
データの 1 つの BLOB のみを圧縮して暗号化する必要がある場合は、System.IO.CompressionおよびSystem.Security.Cryptographyを調べます。
GZipStreamクラスは、圧縮を処理するためのネイティブな方法です。
暗号化に関しては、それを行う方法はたくさん ありますが、そのほとんどはSystem.Security名前空間にあります。それらは連鎖的に行うことができます(圧縮されたストリームを暗号化するか、暗号化されたストリームを圧縮します)。
Chilkatは、圧縮と暗号化のための .NET ライブラリを提供します。
それらを組み合わせることができない場合は、最初に圧縮を実行してから暗号化を実行します。すでに暗号化されているファイルを圧縮すると、多くの冗長性が失われるため、圧縮率が低下します。
手順を組み合わせることができるかどうかはわかりませんが、.NETは基本的な暗号化を適切にサポートしています。これに関する記事があります。
ここに役立つトピックがあります:
.NetからZipファイルを作成し、Javaから読み取るのに役立ちます
System.IO.Packaging名前空間は、データをzip形式で圧縮し、権限管理をサポートするための便利なクラスを提供します。
C#で直接使用できるものはありませんが、J#のいくつかのライブラリを使用してそれを行うことができます。
http://msdn.microsoft.com/en-us/magazine/cc164129.aspx
あなたがやりたいことだけをすべきですか?
暗号化に関しては、次のリンクをご覧ください。
http://www.codeproject.com/KB/security/fileencryptdecrypt.aspx