SqlMembershipProvider.PasswordFormat プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server メンバーシップ データベースにパスワードを格納する形式を示す値を取得します。
public:
virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat
プロパティ値
SQL Server データベースにパスワードを格納する形式を示す MembershipPasswordFormat 値の 1 つ。
例
次のコード例は、ASP.NET アプリケーションの Web.config ファイルの セクションの メンバーシップ 要素 system.web を示しています。 アプリケーション SqlMembershipProvider のインスタンスを指定し、そのパスワード形式を に Hashed設定します。
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="MyApplication" />
</providers>
</membership>
注釈
のみを使用HashedしEncrypted、Clearセキュリティで保護されていません。
Hashed パスワードは、データベースに格納されるときに、一方向ハッシュ アルゴリズムとランダムに生成された salt 値を使用してハッシュされます。 パスワードを検証するとき、そのパスワードは、データベースの salt 値を使用して検証のためにハッシュされます。 ハッシュされたパスワードを取得することはできません。
Encrypted データベースの内容を明らかにする侵害によって暗号化キーが公開される可能性もあるので、パスワードは安全とは見なされません。 つまり、暗号化されたパスワードを復号化して公開できます。
値は PasswordFormat 、ASP.NET アプリケーションの Web.config ファイルの providers セクションで指定します。
Encrypted および Hashed パスワードは、構成の machineKey 要素で指定された情報に基づいて、既定で暗号化またはハッシュされます。 属性に の3DESvalidation値を指定した場合、または値が指定されていない場合、ハッシュされたパスワードはアルゴリズムをSHA1使用してハッシュされることに注意してください。
カスタム ハッシュ アルゴリズムは、membership 要素 (ASP.NET 設定スキーマ) 構成要素の 属性を使用してhashAlgorithmType定義できます。 暗号化を選択した場合、既定のパスワード暗号化では AES が使用されます。 暗号化アルゴリズムを変更するには、machineKey 構成要素の 属性を設定decryptionします。 パスワードを暗号化する場合は、machineKey 要素の 属性にdecryptionKey明示的な値を指定する必要があります。 ASP.NET メンバーシップで暗号化されたパスワードをdecryptionKey使用する場合、属性の 既定値AutoGenerateはサポートされません。
SHA1 との競合問題のため、Microsoft では SHA256 以上に基づくセキュリティ モデルを推奨しています。