HMACMD5 クラス

定義

MD5 ハッシュ関数を使用して、ハッシュ メッセージ認証コード (HMAC) を計算します。

public ref class HMACMD5 : System::Security::Cryptography::HMAC
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public class HMACMD5 : System.Security.Cryptography.HMAC
public class HMACMD5 : System.Security.Cryptography.HMAC
[System.Runtime.InteropServices.ComVisible(true)]
public class HMACMD5 : System.Security.Cryptography.HMAC
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
type HMACMD5 = class
    inherit HMAC
type HMACMD5 = class
    inherit HMAC
[<System.Runtime.InteropServices.ComVisible(true)>]
type HMACMD5 = class
    inherit HMAC
Public Class HMACMD5
Inherits HMAC
継承
属性

注釈

HMACMD5 は、メッセージ ダイジェスト アルゴリズム 5 (MD5) ハッシュ関数から構築され、ハッシュベースのメッセージ認証コード (HMAC) として使用されるキー付きハッシュ アルゴリズムの一種です。 HMAC プロセスでは、秘密キーとメッセージ データが混在し、結果がハッシュ関数でハッシュされ、そのハッシュ値とシークレット キーが再度組み合わせられ、ハッシュ関数が 2 回目に適用されます。 出力ハッシュの長さは 128 ビットです。

HMAC を使用すると、送信者と受信者が秘密キーを共有している場合に、セキュリティで保護されていないチャネル経由で送信されたメッセージが改ざんされているかどうかを判断できます。 送信者は元のデータのハッシュ値を計算し、元のデータとハッシュ値の両方を 1 つのメッセージとして送信します。 受信側は、受信したメッセージのハッシュ値を再計算し、計算された HMAC が送信された HMAC と一致することを確認します。

データまたはハッシュ値を変更すると、メッセージを変更して正しいハッシュ値を再現するために秘密鍵の知識が必要になるため、不一致が発生します。 したがって、元のハッシュ値と計算されたハッシュ値が一致する場合、メッセージは認証されます。

MD5 は、RSA ラボラトリーで開発された暗号化ハッシュ アルゴリズムです。 HMACMD5 は任意のサイズのキーを受け取り、長さが 128 ビットのハッシュ シーケンスを生成します。

MD5 との競合問題のため、Microsoft では SHA256 を推奨しています。

コンストラクター

HMACMD5()

ランダムに生成されたキーを使用して、HMACMD5 クラスの新しいインスタンスを初期化します。

HMACMD5(Byte[])

指定したキーを使用して HMACMD5 クラスの新しいインスタンスを初期化します。

フィールド

HashSizeInBits

HMAC MD5 アルゴリズムによって生成されるハッシュ サイズ (ビット単位)。

HashSizeInBytes

HMAC MD5 アルゴリズムによって生成されるハッシュ サイズ (バイト単位)。

HashSizeValue

計算されたハッシュ コードのサイズをビット単位で表します。

(継承元 HashAlgorithm)
HashValue

計算されたハッシュ コードの値を表します。

(継承元 HashAlgorithm)
KeyValue

ハッシュ アルゴリズムで使用するキー。

(継承元 KeyedHashAlgorithm)
State

ハッシュ計算の状態を表します。

(継承元 HashAlgorithm)

プロパティ

BlockSizeValue

ハッシュ値で使用するブロック サイズを取得または設定します。

(継承元 HMAC)
CanReuseTransform

現在の変換を再利用できるかどうかを示す値を取得します。

(継承元 HashAlgorithm)
CanTransformMultipleBlocks

派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。

(継承元 HashAlgorithm)
Hash

計算されたハッシュ コードの値を取得します。

(継承元 HashAlgorithm)
HashName

ハッシュに使用するハッシュ アルゴリズムの名前を取得または設定します。

(継承元 HMAC)
HashSize

計算された HMAC のサイズをビット単位で取得します。

HashSize

計算されたハッシュ コードのサイズをビット単位で取得します。

(継承元 HashAlgorithm)
InputBlockSize

派生クラスでオーバーライドされると、入力ブロック サイズを取得します。

(継承元 HashAlgorithm)
Key

HMAC 計算で使用するキーを取得または設定します。

Key

HMAC 計算で使用するキーを取得または設定します。

(継承元 HMAC)
OutputBlockSize

派生クラスでオーバーライドされると、出力ブロック サイズを取得します。

(継承元 HashAlgorithm)

メソッド

Clear()

HashAlgorithm クラスによって使用されているすべてのリソースを解放します。

(継承元 HashAlgorithm)
ComputeHash(Byte[])

指定したバイト配列のハッシュ値を計算します。

(継承元 HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

指定したバイト配列の指定した領域のハッシュ値を計算します。

(継承元 HashAlgorithm)
ComputeHash(Stream)

指定された Stream オブジェクトのハッシュ値を計算します。

(継承元 HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)

指定された Stream オブジェクトのハッシュ値を非同期に計算します。

(継承元 HashAlgorithm)
Dispose()

HashAlgorithm クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

(継承元 HashAlgorithm)
Dispose(Boolean)

HMACMD5 によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Dispose(Boolean)

キー変更が有効な場合、HMAC クラスによって使用されているアンマネージド リソースを解放します。また、オプションとして、マネージド リソースを解放することもできます。

(継承元 HMAC)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
HashCore(Byte[], Int32, Int32)

HMAC を計算するために、オブジェクトに書き込んだデータを HMAC アルゴリズムにルーティングします。

HashCore(Byte[], Int32, Int32)

派生クラスでオーバーライドされると、HMAC 値を計算するために、オブジェクトに書き込まれたデータを HMAC アルゴリズムにルーティングします。

(継承元 HMAC)
HashCore(ReadOnlySpan<Byte>)

HMAC を計算するために、オブジェクトに書き込んだデータを HMAC アルゴリズムにルーティングします。

HashCore(ReadOnlySpan<Byte>)

HMAC を計算するために、オブジェクトに書き込んだデータを HMAC アルゴリズムにルーティングします。

(継承元 HMAC)
HashData(Byte[], Byte[])

MD5 アルゴリズムを使用してデータの HMAC を計算します。

HashData(Byte[], Stream)

MD5 アルゴリズムを使用してストリームの HMAC を計算します。

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>)

MD5 アルゴリズムを使用してデータの HMAC を計算します。

HashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

MD5 アルゴリズムを使用してデータの HMAC を計算します。

HashData(ReadOnlySpan<Byte>, Stream)

MD5 アルゴリズムを使用してストリームの HMAC を計算します。

HashData(ReadOnlySpan<Byte>, Stream, Span<Byte>)

MD5 アルゴリズムを使用してストリームの HMAC を計算します。

HashDataAsync(Byte[], Stream, CancellationToken)

MD5 アルゴリズムを使用して、ストリームの HMAC を非同期的に計算します。

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

MD5 アルゴリズムを使用して、ストリームの HMAC を非同期的に計算します。

HashDataAsync(ReadOnlyMemory<Byte>, Stream, Memory<Byte>, CancellationToken)

MD5 アルゴリズムを使用して、ストリームの HMAC を非同期的に計算します。

HashFinal()

アルゴリズムによって最後のデータが処理された後、HMAC 計算の終了処理を行います。

HashFinal()

派生クラスでオーバーライドされると、アルゴリズムによって最後のデータが処理された後に、HMAC 計算を終了します。

(継承元 HMAC)
Initialize()

ハッシュ アルゴリズムを初期状態にリセットします。

Initialize()

HMAC の既定の実装のインスタンスを初期化します。

(継承元 HMAC)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

入力バイト配列の指定した領域のハッシュ値を計算し、入力バイト配列の指定した領域を出力バイト配列の指定した領域にコピーします。

(継承元 HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

指定したバイト配列の指定した領域のハッシュ値を計算します。

(継承元 HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

指定したバイト配列のハッシュ値の計算を試みます。

(継承元 HashAlgorithm)
TryHashData(ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>, Int32)

MD5 アルゴリズムを使用してデータの HMAC の計算を試みます。

TryHashFinal(Span<Byte>, Int32)

HMAC アルゴリズムによって最後のデータが処理された後、HMAC 計算の終了を試みます。

TryHashFinal(Span<Byte>, Int32)

HMAC アルゴリズムによって最後のデータが処理された後、HMAC 計算の終了を試みます。

(継承元 HMAC)

明示的なインターフェイスの実装

IDisposable.Dispose()

HashAlgorithm によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 HashAlgorithm)

適用対象

こちらもご覧ください