web.configファイルのパスワードのみを暗号化するにはどうすればよいですか?
<add name="PSystem" connectionString="Server=test;Database=Dev;User ID=testuser;Password=password@123;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
web.configファイルのパスワードのみを暗号化するにはどうすればよいですか?
<add name="PSystem" connectionString="Server=test;Database=Dev;User ID=testuser;Password=password@123;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
組み込みの暗号化メカニズムは、connectionString セクション全体で機能すると思います。
ユーザーがログイン フォームから入力したメモリ内パスワードを暗号化したい場合は、SecureStringを使用できます。
次のように、接続文字列でフラグを使用してみることができます。
<add name="PSystem"
connectionString="Server=test;
Database=Dev;
User ID=@UserID@;
Password=#Password#;
Trusted_Connection=False;
Encrypt=True;"
providerName="System.Data.SqlClient" />
次に、暗号化されたユーザーとパスワードを次のように設定できます。
<add key="DB_User" value = [Encrypted Username]>
<add key="DB_Password" value = [Encrypted Password]>
次に、コードでフラグを置き換えるだけです。
string _connectionString = ConfigurationManager.ConnectionStrings["PSystem"].ConnectionString;
string user = Decrypt(ConfigurationManager.AppSettings["DB_User"]);
string password = Decrypt(ConfigurationManager.AppSettings["DB_Password"]);
_connectionString = _connectionString.Replace("##User##", user).Replace("##Password##", password);
構成ファイルの内容を暗号化するには、Aspnet_regiis.exe ツールを –pe オプションと暗号化する構成要素の名前と共に使用します。
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
ソース: http://msdn.microsoft.com/en-us/library/zhhddkxy(v=vs.100).aspx