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 要素で指定された情報に基づいて、既定で暗号化またはハッシュされます。 属性に の3DES
validation
値を指定した場合、または値が指定されていない場合、ハッシュされたパスワードはアルゴリズムをSHA1使用してハッシュされることに注意してください。
カスタム ハッシュ アルゴリズムは、membership 要素 (ASP.NET 設定スキーマ) 構成要素の 属性を使用してhashAlgorithmType
定義できます。 暗号化を選択した場合、既定のパスワード暗号化では AES が使用されます。 暗号化アルゴリズムを変更するには、machineKey 構成要素の 属性を設定decryption
します。 パスワードを暗号化する場合は、machineKey 要素の 属性にdecryptionKey
明示的な値を指定する必要があります。 ASP.NET メンバーシップで暗号化されたパスワードをdecryptionKey
使用する場合、属性の 既定値AutoGenerate
はサポートされません。
SHA1 との競合問題のため、Microsoft では SHA256 以上に基づくセキュリティ モデルを推奨しています。
適用対象
こちらもご覧ください
.NET