エッチ‐マック【HMAC】
HMAC クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
ハッシュ ベース メッセージ認証コード (HMAC) を使用すると、送信者と受信者が共有キーを共有していれば、セキュリティ設定されていないチャネルを通じて送信されたメッセージが不正に変更されていないかどうかを確認できます。送信者は元のデータのハッシュ値を計算し、元のデータと HMAC の両方を単一のメッセージとして送信します。受信者は受信メッセージのハッシュ値を再計算して、計算したハッシュ値が送信されたハッシュ値と一致するかどうかをチェックします。
HMAC は、反復計算を使った暗号ハッシュ関数 (MD5 や SHA-1 など) に、秘密の共有キーを組み合わせて使用できます。HMAC の暗号強度は、使用されているハッシュ関数の特性に依存します。
メッセージの変更や正しいハッシュ値の再生には共有キーが必要なため、データやハッシュ値を少しでも変更すると不一致が発生します。したがって、元のハッシュ値と計算されたハッシュ値が一致していれば、メッセージが認証されます。
System.Security.Cryptography.HashAlgorithm
System.Security.Cryptography.KeyedHashAlgorithm
System.Security.Cryptography.HMAC
派生クラス
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
HMAC コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)
構文
プラットフォーム
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
HMAC フィールド
プロテクト フィールド
名前 | 説明 | |
---|---|---|
HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。 ( HashAlgorithm から継承されます。) | |
HashValue | 計算されたハッシュ コードの値を表します。 ( HashAlgorithm から継承されます。) | |
KeyValue | ハッシュ アルゴリズムで使用するキー。 ( KeyedHashAlgorithm から継承されます。) | |
State | ハッシュ計算の状態を表します。 ( HashAlgorithm から継承されます。) |
HMAC プロパティ
パブリック プロパティ
名前 | 説明 | |
---|---|---|
CanReuseTransform | 現在の変換を再利用できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
CanTransformMultipleBlocks | 派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。 ( HashAlgorithm から継承されます。) | |
Hash | 計算されたハッシュ コードの値を取得します。 ( HashAlgorithm から継承されます。) | |
HashName | ハッシュに使用するハッシュ アルゴリズムの名前を取得または設定します。 | |
HashSize | 計算されたハッシュ コードのサイズをビット単位で取得します。 ( HashAlgorithm から継承されます。) | |
InputBlockSize | 派生クラスでオーバーライドされると、入力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) | |
Key | オーバーライドされます。 ハッシュ アルゴリズムで使用するキーを取得または設定します。 | |
OutputBlockSize | 派生クラスでオーバーライドされると、出力ブロック サイズを取得します。 ( HashAlgorithm から継承されます。) |
参照
HMAC メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Clear | HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 ( HashAlgorithm から継承されます。) | |
ComputeHash | オーバーロードされます。 入力データのハッシュ値を計算します。 ( HashAlgorithm から継承されます。) | |
Create | オーバーロードされます。 ハッシュ ベース メッセージ認証コード (HMAC) の実装のインスタンスを作成します。 | |
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) | |
Initialize | オーバーライドされます。 HMAC の既定の実装のインスタンスを初期化します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) | |
ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) | |
TransformBlock | 入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 ( HashAlgorithm から継承されます。) | |
TransformFinalBlock | 指定したバイト配列の指定した領域のハッシュ値を計算します。 ( HashAlgorithm から継承されます。) |
名前 | 説明 | |
---|---|---|
Dispose | オーバーライドされます。 キー変更が有効な場合、HMAC クラスによって使用されているアンマネージ リソースを解放します。また、オプションで、マネージ リソースも解放します。 | |
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
HashCore | オーバーライドされます。 派生クラスでオーバーライドされると、ハッシュ値を計算するために、オブジェクトに書き込まれたデータを既定の HMAC ハッシュ アルゴリズムにルーティングします。 | |
HashFinal | オーバーライドされます。 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
HMAC メンバ
ハッシュ ベース メッセージ認証コード (HMAC) のすべての実装の派生元となる抽象クラスを表します。
プロテクト コンストラクタ
プロテクト フィールド
名前 | 説明 | |
---|---|---|
HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。(HashAlgorithm から継承されます。) | |
HashValue | 計算されたハッシュ コードの値を表します。(HashAlgorithm から継承されます。) | |
KeyValue | ハッシュ アルゴリズムで使用するキー。(KeyedHashAlgorithm から継承されます。) | |
State | ハッシュ計算の状態を表します。(HashAlgorithm から継承されます。) |
名前 | 説明 | |
---|---|---|
CanReuseTransform | 現在の変換を再利用できるかどうかを示す値を取得します。(HashAlgorithm から継承されます。) | |
CanTransformMultipleBlocks | 派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。(HashAlgorithm から継承されます。) | |
Hash | 計算されたハッシュ コードの値を取得します。(HashAlgorithm から継承されます。) | |
HashName | ハッシュに使用するハッシュ アルゴリズムの名前を取得または設定します。 | |
HashSize | 計算されたハッシュ コードのサイズをビット単位で取得します。(HashAlgorithm から継承されます。) | |
InputBlockSize | 派生クラスでオーバーライドされると、入力ブロック サイズを取得します。(HashAlgorithm から継承されます。) | |
Key | オーバーライドされます。 ハッシュ アルゴリズムで使用するキーを取得または設定します。 | |
OutputBlockSize | 派生クラスでオーバーライドされると、出力ブロック サイズを取得します。(HashAlgorithm から継承されます。) |
パブリック メソッド
名前 | 説明 | |
---|---|---|
Clear | HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 (HashAlgorithm から継承されます。) | |
ComputeHash | オーバーロードされます。 入力データのハッシュ値を計算します。 (HashAlgorithm から継承されます。) | |
Create | オーバーロードされます。 ハッシュ ベース メッセージ認証コード (HMAC) の実装のインスタンスを作成します。 | |
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
Initialize | オーバーライドされます。 HMAC の既定の実装のインスタンスを初期化します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) | |
ToString | 現在の Object を表す String を返します。 (Object から継承されます。) | |
TransformBlock | 入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 (HashAlgorithm から継承されます。) | |
TransformFinalBlock | 指定したバイト配列の指定した領域のハッシュ値を計算します。 (HashAlgorithm から継承されます。) |
名前 | 説明 | |
---|---|---|
Dispose | オーバーライドされます。 キー変更が有効な場合、HMAC クラスによって使用されているアンマネージ リソースを解放します。また、オプションで、マネージ リソースも解放します。 | |
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
HashCore | オーバーライドされます。 派生クラスでオーバーライドされると、ハッシュ値を計算するために、オブジェクトに書き込まれたデータを既定の HMAC ハッシュ アルゴリズムにルーティングします。 | |
HashFinal | オーバーライドされます。 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
HMAC
- HMACのページへのリンク