センシティブマテリアルを含む.configファイルの部分だけを暗号化できます。この場合は接続文字列です。場所は、お使いのシステムと.NETのバージョンによって異なる場合がありますが、ファイルの検索がそれを絞る必要がある
ASPNET_REGIIS.EXE
答えがあります。
myappというプログラムがc:\ dotnetaps \ myappにあるとします。
私はweb.configファイルの「のconnectionStrings」の部分を暗号化するために、次のコマンドを使用します。
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp
はちょっと待って:web.configファイルを右、唯一のWebアプリケーションではなく、ローカルなもののためにあるのですか? aspnet_regiis.exeはweb.configのみで動作しますが、の形式はapp.configとまったく同じです。したがって、app.configの名前をweb.configに変更し、ツールを実行して名前を変更し直すだけです。やや厄介ですが、バッチファイルでは自動化できないものはありません。
@ Encrypts connectionStrings in app.config
ren C:\dotnetapps\myapp\app.config web.config
path\to\exe\aspnet_regiis.exe -pef connectionStrings C:\dotnetapps\myapp
ren web.config app.config
重要な注意:文字通りこれらのコマンドを使用すると、それが実行されている特定のシステムに対してファイルを暗号化します。コードを配布するための鍵を暗号化するには少し読んでみたいですが、これは一般的な考え方です。
このコメント読みください:http://stackoverflow.com/questions/9727089/what-is-a-simple-but-somewhat-effective-way-to-obfuscate-numeric-values#comment12369072_9727089を – asawyer