web.configファイルに次の情報があります。web.configファイルにパスワードを暗号化して保存する
<appSettings>
<add key="AdminUsername" value="User1"/>
<add key="AdminPassword" value="Password1"/>
</appSettings>
どのように暗号化して保存しますか? どのように復号化して使用しますか?
web.configファイルに次の情報があります。web.configファイルにパスワードを暗号化して保存する
<appSettings>
<add key="AdminUsername" value="User1"/>
<add key="AdminPassword" value="Password1"/>
</appSettings>
どのように暗号化して保存しますか? どのように復号化して使用しますか?
は親切の記事を参照してください - http://msdn.microsoft.com/en-us/library/k6h9cz8h%28v=vs.80%29.aspx
コマンドは次のとおりです。
Aspnet_regiis.exeに-pe "のappSettings" サイト "MySharePoint" -app "/"
MySharePointは仮想ディレクトリです。 web.configファイルもディレクトリ内になければなりません。
私は、 appconfigセクションは全体ではありません。
答えを更新する - これでappSettingsセクションのみが暗号化されます。それが役に立てば幸い。 –
aspnet_regiisまたは同等のAPIを使用して設定セクションを暗号化することの欠点は、セクション全体を暗号化することです。
セキュリティ上の観点からは優れていますが、管理者は同じセクション内の他の重要でない設定データを検査することがより困難になります。 appSettingsは、管理者がよく調べたいセクションです。
1つのオプションは、(例えば<connectionStrings>
セクションでダミーの接続文字列を作成する)別のセクションで資格情報を入れてのみ、このセクションを暗号化することです:
<connectionStrings>
...
<add key="AdminCredentials"
providerName=""
connectionString="Username=...;Password=..." />
</connectionStrings>
ダミーの接続文字列(String.Split)と資格情報を抽出します。以下の(簡単にするためにハンドリング省いエラー)のようなもの:
string s = ConfigurationManager.ConnectionStrings["AdminCredentials"].ConnectionString;
string[] tokens = s.Split(';');
string userName = tokens[0].Split('=')[1];
string password = tokens[1].Split('=')[1];
...
これにより、あなたはあなたのappSettingsセクションが暗号化されていないままにすることができます。
同じ回答がありました。 http://stackoverflow.com/questions/6291322/how-to-encrypt-username-and-password-in-web-config-in-c-2-0 – Roshe