データに直接アクセスして取得できる API があるため、通常、データベースとの接続文字列は web.config ファイルに配置されます。
ただし、データベース接続文字列は .config ファイル内でクリア テキストで保存されます。
.NET には、サイトの .config ファイルのセクションを暗号化できる ASP.NET IIS 登録ツール (Aspnet_regiis.exe) のようなツールがあります。
暗号化: aspnet_regiis -pef "暗号化された Web の構成セクションの名前。 config" "web.config ファイルが存在するディレクトリ"
復号化: aspnet_regiis -pdf 「暗号化された web.config の構成セクションの名前」 暗号化前の「web.config ファイルが存在するディレクトリ」
:
<接続文字列>
<add name="pubsConnectionString" connectionString="データ ソース=MHLSQL2000;初期カタログ=pubs;ユーザー ID=sa;パスワード=sql2000"
プロバイダー名 = "System.Data.SqlClient" />
</接続文字列>
暗号化後:
<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
<EncryptedData Type=" http://www.w3.org/2001/04/xmlenc#Element "
xmlns=" http://www.w3.org/2001/04/xmlenc #">
<EncryptionMethod Algorithm=" http://www.w3.org/2001/04/xmlenc#tripledes-cbc " />
<KeyInfo xmlns=" http://www.w3.org/2000/09/xmldsig #">
<EncryptedKey xmlns=" http://www.w3.org/2001/04/xmlenc #">
<暗号化方式アルゴリズム=" http://www.w3.org/2001/04/xmlenc#rsa-1_5 " />
<KeyInfo xmlns=" http://www.w3.org/2000/09/xmldsig #">
<KeyName>Rsa キー</KeyName>
</キー情報>
<暗号データ>
<CipherValue>e15rhABrAtua53kjZ2a3U+ijC/Hr5ZhGUWGL5swkfxJaHS6hxGacw7CxyNlhnJwRc44ZE2edsKRfSJeXPS76fe4znlE5BqaxMMMWK+yFMiuWM+Cor1DFffherRNjAB7pMYdRQoMRCBq6H18gx IGlRY1dXtUERzNLJ5ug+S/qdj8E=</CipherValue>
</CipherData>
</暗号化キー>
</キー情報>
<暗号データ>
<CipherValue>Y1SjIK04jc0cS8Fg7EJyLoiXAUWc+I708SOsebWHeihg4kRFEF4wGvQLyrZQqFXNUIm56tIktQgapd7px92nfwAzYFv8R2gYV/7JwjfbjpM1v27p5WgNycJbo8H4uNj4 foqy2Dl41geMFHXCOak8IWxrA8MkbpIsKHFTJNkMo9yph+vUMdViwaBSOKONSrXJ2k16kjHoSjJe1VP6WfMFZCeL7+nMuLf4sNZc34d0fl3S50H+kNwZre9MkuUCSLr5pImCv5fhgHP+Ee9 OvRwUY7kWMr+M+jKoS+FDbhuRIkcbWaPP75XzdmyBN/vGwcMfX63faA9vdNOsl1a75Kd0L</CipherValue>
</CipherData>
</暗号化されたデータ>
</connectionStrings>