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のみを使用します。ClearとEncryptedはセキュリティで保護されていません。
Hashed パスワードは、データベースに格納されるときに、一方向ハッシュ アルゴリズムとランダムに生成された salt 値を使用してハッシュされます。 パスワードが検証されると、検証のためにデータベース内の salt 値でハッシュされます。 ハッシュされたパスワードを取得できません。
Encrypted パスワードは安全とは見なされません。データベースの内容を明らかにする侵害によって暗号化キーが公開される可能性もあります。 つまり、暗号化されたパスワードを復号化して公開できます。
PasswordFormat 値は、ASP.NET アプリケーションの Web.config ファイルの providers セクションで指定します。
Encrypted および Hashed パスワードは、構成の machineKey 要素で指定された情報に基づいて、既定で暗号化またはハッシュされます。
validation属性に3DESの値を指定した場合、または値が指定されていない場合、ハッシュされたパスワードはSHA1 アルゴリズムを使用してハッシュされることに注意してください。
カスタム ハッシュ アルゴリズムは、membership 要素 (ASP.NET Settings Schema) 構成要素の hashAlgorithmType 属性を使用して定義できます。 暗号化を選択した場合、既定のパスワード暗号化では AES が使用されます。 暗号化アルゴリズムを変更するには、machineKey 構成要素のdecryption属性を設定します。 パスワードを暗号化する場合は、machineKey 要素の decryptionKey 属性に明示的な値を指定する必要があります。 ASP.NET メンバーシップで暗号化されたパスワードを使用する場合、decryptionKey 属性の既定値 AutoGenerate はサポートされません。
SHA1 の衝突の問題により、Microsoftでは SHA256 以上に基づくセキュリティ モデルが推奨されます。