Share via


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

プロパティ値

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のみでありEncryptedClearセキュリティで保護されていません。 Hashed パスワードは、一方向ハッシュ アルゴリズムと、データベースに格納されるときにランダムに生成されたソルト値を使用してハッシュされます。 パスワードを検証するとき、そのパスワードは、データベースの 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 以上に基づくセキュリティ モデルを推奨しています。

適用対象

こちらもご覧ください