機密情報を格納するときには、人間が判読できるテキスト形式や、Base64 エンコーディングなどの簡単にデコードできる形式で格納しないようにします。機密情報は暗号化して、何らかの方法で攻撃者に公開された場合でも、機密情報が含まれているかどうかを攻撃者が簡単に判断できないようにします。
機密情報の検証のみが必要で、人間が判読できる形式に復号化する必要がない場合は、一方向のハッシュを使用して機密情報を暗号化します。その後、送信元から受け取った検証対象の機密情報を比較する場合に、受け取ったその値をハッシュ化して検証用のハッシュと比較します。たとえば、ASP.NET メンバシップとフォーム認証を使用してアプリケーションのユーザー認証を提供し、パスワードをデータ ソースに格納したり検証のために比較したりするときに、一方向のハッシュを使用してそれが暗号化されるように、パスワードの形式を Hashed に設定します。
接続文字列、ユーザー資格情報、暗号キーなどの機密情報をアプリケーション用の Web.config ファイル内に格納する場合は、保護された構成プロバイダを使用して Web.config ファイルの重要セクションを暗号化します。保護された構成の詳細については、「保護された構成を使用した構成情報の暗号化」を参照してください。
暗号化を使用して機密情報を保護する方法の詳細については、「.NET Framework の暗号モデル」を参照してください。