質問
何度も質問して申し訳ありませんが、いつも親切で親切です...
ファイルからデータをインポートするアプリケーションを実行する必要があります。たとえば、ユーザーが 1 つのファイルを選択すると、アプリケーションはいくつかのデータをデータベースにインポートします。
しかし、私は考えていましたが、この種のアプリはファイルの完全性と信頼性の問題につながります。ユーザーがファイルを変更すると、アプリケーションはその情報を使用できなくなります。また、あるファイルが既知のソースからのものでない場合、アプリケーションはそのファイルを使用できません。
このようなことをするにはどうすればよいですか?
追記:C#.NETを使用しています
解決
認証と整合性はデジタル署名によって提供されます。
ファイル形式を制御する場合は、driis のアドバイスに従ってください。
あるいは、ファイルが XML の場合は、 XML署名.
C#/.NET を使用する場合:
他のヒント
、あなたは、デジタル署名を埋め込むことができます。あなたはファイルの内容のハッシュに署名をベースにした場合は、ファイルが信頼できるソースから来ていることを確認することができ、それが改ざんされていないされます。
それはあなたがこの保護をしたいどれくらい強いに依存します。
たとえば、元のファイル(+塩)のハッシュが含まれているハッシュノードのどこかを持っている(人間読みやすくするため)xmlファイルを持つことができます。これは、プログラムによって更新することができますが、ユーザーがどのようなそのキーの手段を考え出す難しく時間を持つことができます。プログラムがファイルを開くと、それはファイルに書かれたものと同じだ場合、それはハッシュとチェックを計算します。
あなたも、さらに一歩を取ると、デジタル署名を使用していますが、の方法はより複雑ことができます。