Antoine.st Connection String

Connection String

Windows 統合認証を使わず、SQL Server 認証、もしくは独自の認証を使うときのことを考えてみます。さらに、ログインフォームも使いません。アプリケーションを実行したら、すぐにデータベースに接続する、というものです。

この場合、接続文字列にユーザー名とパスワードを埋め込むことになります。ユーザー名はいいとしても、パスワードはどうしましょう? アプリケーションに埋め込んでしまうと、パスワードを変えるたびにビルドをしなおす必要があります。これは面倒くさいし、現実的ではありません。

かといって、レジストリやら INI ファイル、コンフィギュレーションファイルに保存しておくのもちょっと嫌な感じです。詳しい人が見たら、すぐにパスワードが何かわかっちゃいますから。

ということで、暗号化の出番です。レジストリやらコンフィギュレーションファイルに保存するときに暗号化しておき、実際に使うときは複合化するわけです。暗号化の方法ですが、.NET Framework にそれなりのクラスが用意されているので、それを使うのがよさそうです。