英語で読む

次の方法で共有


MachineKeyValidation 列挙型

定義

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

C#
public enum MachineKeyValidation
継承
MachineKeyValidation

フィールド

名前 説明
AES 3

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

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

Custom 7

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

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

HMACSHA256 4

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

HMACSHA384 5

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

HMACSHA512 6

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

MD5 0

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

SHA1 1

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

TripleDES 2

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

次のコード例は、 列挙体を使用する方法を MachineKeyValidation 示しています。 この例では、 configSection は の MachineKeySectionインスタンスです。 このコード例は、MachineKeySection クラスのために提供されている大規模な例の一部です。

C#
// Set Validation property.
configSection.Validation = MachineKeyValidation.HMACSHA256;

注釈

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

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

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください