1

いくつかのデータベースに接続するwinformsアプリケーションがあります。ただし、ユーザーがインターネットに接続していないときでもアプリを使用したいのですが。私はデータセットをローカルでXMLファイルに書き込み、データベースからダウンロードするかローカルデータファイルを使用するかをユーザーの好みに基づいて読み込んでいました。

DataSet.WriteXml(localPath)

アプリケーションが改善されているので、ユーザーが内部を見ることができないようにXMLファイルを暗号化したいと思います(そこには大量のデータがありますが、アプリケーションはユーザーに割り当てられたアクセスレベルに基づいてデータを選択的に表示します)。「RijndaelManaged」を調べて、VB.NETのファイルの暗号化/復号化に基づいて動作するプロトタイプを入手しました。暗号化クラスをディスクに保存せずに、ストリームを暗号化クラスに渡す方法を理解できませんでした。

今のところ、データセットから一時ディレクトリにxmlファイルを保存し、新しいストリームを作成してCrypotoStreamに渡し、暗号化されたファイルを目的の場所に書き込みます。

ディスクに書き込まずにストリームを直接渡すソリューションを探しています。提案してください。

4

2 に答える 2

2

EncryptedXml クラスを使用することをお勧めします。

EncryptedXml クラス 暗号化には、暗号強度、キー ベースなどのさまざまなアプローチが必要になる場合があります。MSDN ドキュメントの例に従ってください。これは短い実装ではありませんが、非常にうまく機能します。

他の選択肢

MemoryStream に書き込み、MemoryStream.ToArray(); を使用します。

暗号化されたストリームを読み取る

CryptoStream を使用して DataSet をロードするだけです。

これを参照して 暗号化された XML ファイルを読み取り/復号化し、内部で処理します。

于 2012-08-13T22:00:14.497 に答える
1

MemoryStreamのように聞こえますが、探しているものかもしれません。

于 2012-08-13T21:29:57.140 に答える