Web アプリケーション、Windows サービス、wcf レイヤーなど、暗号化の一意のソルトとして使用できるすべての C# アプリケーションで、どのような情報を見つけることができますか?
System.Security.Cryptography.ProtectedData.Protect()
(DPAPI) メソッドとメソッドを使用して、構成ファイルに保存されている機密データを簡単に暗号化できるライブラリを作成したいと考えていますSystem.Security.Cryptography.ProtectedData.Unprotect()
。
ライブラリは、値を使用しているアプリケーションの外部で構成値を暗号化および復号化できる、私が作成している別のアプリケーションでも使用されます。ソースは常に利用可能である必要があります。
ソルトは、別のアプリケーションに手動で入力できるほど単純でなければなりません (たとえば、GUID を識別するのは困難です)。
System.Reflection.Assembly.GetEntryAssembly()
それが私が作成しているこのライブラリを呼び出すアプリケーション/サービスのアセンブリである場合、そこに何かを使用できます。最初の考えは、「ソルトを、暗号化されたデータが保存されている構成ファイル名にする...」でしたが、Web サイトの場合、構成ファイルは常に「web.config」です。
他の考えを歓迎します。
アップデート...
「GetExecutingAssembly()」...「GetEntryAssembly()」とどう違うのですか?