次の方法で共有


SqlMembershipProvider.PasswordFormat プロパティ

定義

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>  

注釈

のみを使用HashedEncryptedClearセキュリティで保護されていません。 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 以上に基づくセキュリティ モデルを推奨しています。

適用対象

こちらもご覧ください