1

ドキュメントがリソースに依存するアプリケーションを作成しており、それらを 1 つのファイルに埋め込む必要があります。新しい形式を作成する代わりに、他のファイルが埋め込まれたファイルを作成するためのライブラリまたは API が既に存在するかどうか疑問に思っていました。形式は問いませんが、次のものを探しています。

  1. 暗号化するかしないかのオプション
  2. 既存のファイルが既に暗号化されているかどうかを判断できます。
  3. フォーマット用に作成されたものを使用する代わりに、独自のファイル拡張子を作成しましょう。
  4. .NET 3.5 で動作

皆さんがお勧めするライブラリはありますか?

4

2 に答える 2

3

DotNetZipライブラリを使用できます。AES 暗号化を使用した例を次に示します。

using (ZipFile zip = new ZipFile())
{
  zip.AddFile("ReadMe.txt"); // no password for this one
  zip.Password= "Cool.Hand.Luke!";
  zip.Encryption= EncryptionAlgorithm.WinZipAes256;
  zip.AddFile("Rawdata-2008-12-18.csv");
  zip.Save("Backup-AES-Encrypted.zip");
}

例はこのページからのもので、保存するときに任意の拡張子を使用できます。

于 2012-05-28T01:06:05.947 に答える
2

「独自のフォーマットを作成する」という意味がわかりません。

ファイルをアーカイブ/暗号化する方法はたくさんあります。これらの方法を組み合わせることができます。まず書きたいものを暗号化し、次に API を使って書きます。

アーカイブを作成するためのいくつかのリソースを次に示します。

http://weblogs.asp.net/jgalloway/archive/2007/10/25/creating-zip-archives-in-net-without-an-external-library-like-sharpziplib.aspx

暗号化には RSA を使用できます。your_rsa_key を RSA キーに置き換えます。

var provider = new System.Security.Cryptography.RSACryptoServiceProvider();
provider.ImportParameters(your_rsa_key);

var encryptedBytes = provider.Encrypt(
    System.Text.Encoding.UTF8.GetBytes("Hello World!"), true);

string decryptedTest = System.Text.Encoding.UTF8.GetString(
    provider.Decrypt(encryptedBytes, true));
于 2012-05-28T00:55:27.400 に答える