次の方法で共有


MachineKeyValidation 列挙型

定義

フォーム認証とビュー ステート データの検証、およびプロセス外セッション状態の識別に使用 ASP.NET ハッシュ アルゴリズムを指定します。

public enum class MachineKeyValidation
public enum MachineKeyValidation
type MachineKeyValidation = 
Public Enum MachineKeyValidation
継承
MachineKeyValidation

フィールド

名前 説明
MD5 0

ASP.NET がメッセージ ダイジェスト 5 (MD5) ハッシュ アルゴリズムを使用することを指定します。これは、128 ビット ハッシュ値を生成するハッシュ アルゴリズムです。 これは、以前のバージョンの ASP.NET との互換性が必要な場合にのみ選択する必要があるレガシ値です。

SHA1 1

ASP.NET が 160 ビット ハッシュ値を生成するハッシュ アルゴリズムである HMACSHA1 ハッシュ アルゴリズムを使用することを指定します。 これは、以前のバージョンの ASP.NET との互換性が必要な場合にのみ選択する必要があるレガシ値です。

TripleDES 2

ASP.NET が TripleDES (3DES) 暗号化アルゴリズムを使用することを指定します。これは、ビューステートを暗号化する場合にのみ使用される暗号化アルゴリズムです。 これは、以前のバージョンの ASP.NET との互換性が必要な場合にのみ選択する必要があるレガシ値です。

AES 3

ASP.NET が AES 暗号化アルゴリズムを使用することを指定します。 Web アプリケーションでビューステートを暗号化する場合は、このオプションを選択します。

このオプションを選択すると、 DecryptionKey プロパティが暗号化と復号化に使用され、 HMACSHA1 ハッシュ アルゴリズムが検証のために ValidationKey プロパティと共に使用されます。

HMACSHA256 4

ASP.NET が HMACSHA256 ハッシュ アルゴリズムを使用することを指定します。これは、256 ビット ハッシュ コードを生成する SHA2 ハッシュ アルゴリズムです。 これが既定値です。

HMACSHA384 5

ASP.NET が、384 ビット ハッシュ コードを生成する SHA2 ハッシュ アルゴリズムである HMACSHA384 ハッシュ アルゴリズムを使用することを指定します。 このオプションは、 HMACSHA256 アルゴリズムによって提供されるよりも強力なセキュリティを必要とするアプリケーションで使用できます。

HMACSHA512 6

ASP.NET が、512 ビット ハッシュ コードを生成する SHA2 ハッシュ アルゴリズムである HMACSHA512 ハッシュ アルゴリズムを使用することを指定します。 このオプションは、 >HMACSHA384 アルゴリズムによって提供されるよりも強力なセキュリティを必要とするアプリケーションで使用できます。

Custom 7

ASP.NET がカスタム ハッシュ アルゴリズムを使用することを指定します。 カスタム ハッシュ アルゴリズムは、 KeyedHashAlgorithmから派生する任意のクラスに実装できます。

カスタム アルゴリズムは、通常、machineKey 要素のvalidation属性で宣言によってalg:`*algorithm_name*形式で指定されます。 コードでカスタム アルゴリズムを指定する方法については、 ValidationAlgorithm プロパティを参照してください。

次のコード例は、 MachineKeyValidation 列挙型を使用する方法を示しています。 この例では、 configSectionMachineKeySectionのインスタンスです。 このコード例は、 MachineKeySection クラスに提供されるより大きな例の一部です。

// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;
' Set Validation value.
configSection.Validation = MachineKeyValidation.HMACSHA256

注釈

ASP.NET は、ハッシュ ベースのメッセージ認証コード (HMAC) を使用して、フォーム認証またはビューステートに使用されるデータが改ざんされているかどうかを検出するのに役立ちます。 ビュー ステート コンテンツが作成されると HMAC が生成され、後続の要求で HMAC がチェックされます。 HMAC は ASP.NET サーバーとクライアントの間で送信されるデータを変更したかどうかを判断するのに役立ちますが、データも暗号化されていない限り、インターネット経由でデータを読み取ることができます。 既定では、ビューステートは検証されますが、暗号化されません。 詳細については、「ViewStateEncryptionModeRegisterRequiresViewStateEncryption」を参照してください。

MachineKeyValidation列挙を使用すると、HMAC の作成に使用 ASP.NET アルゴリズムを指定できます。 既定値は HMACSHA256 です。 ASP.NET は、選択したアルゴリズムで ValidationKey プロパティの値を使用して HMAC を生成します。

適用対象

こちらもご覧ください