HMACSHA1 クラス

定義

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

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

注釈

HMACSHA1 は、SHA1 ハッシュ関数から構築され、HMAC またはハッシュベースのメッセージ認証コードとして使用されるキー付きハッシュ アルゴリズムの一種です。 HMAC プロセスは、秘密キーとメッセージ データを組み合わせ、結果をハッシュ関数とハッシュし、そのハッシュ値と秘密キーを再度組み合わせてから、もう一度ハッシュ関数を適用します。 出力ハッシュの長さは 160 ビットです。

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

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

SHA-1 (Secure Hash Algorithm, also called SHS, Secure Hash Standard) は、米国政府によって公開された暗号化ハッシュ アルゴリズムです。 任意の長さの文字列から 160 ビットのハッシュ値を生成します。

HMACSHA1 は任意のサイズのキーを受け取り、長さが 160 ビットのハッシュ シーケンスを生成します。

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

コンストラクター

HMACSHA1()

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

HMACSHA1(Byte[])

キー データを指定して、HMACSHA1 クラスの新しいインスタンスを初期化します。

HMACSHA1(Byte[], Boolean)
古い.

SHA1 アルゴリズムのマネージド版を使用するかどうかを指定する値を使用して、HMACSHA1 クラスの新しいインスタンスを初期化します。

フィールド

HashSizeInBits

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

HashSizeInBytes

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

HashSizeValue

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

(継承元 HashAlgorithm)
HashValue

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

(継承元 HashAlgorithm)
KeyValue

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

(継承元 KeyedHashAlgorithm)
State

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

(継承元 HashAlgorithm)

プロパティ

BlockSizeValue

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

(継承元 HMAC)
CanReuseTransform

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

(継承元 HashAlgorithm)
CanTransformMultipleBlocks

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

(継承元 HashAlgorithm)
Hash

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

(継承元 HashAlgorithm)
HashName

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

HashName

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

(継承元 HMAC)
HashSize

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

HashSize

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

(継承元 HashAlgorithm)
InputBlockSize

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

(継承元 HashAlgorithm)
Key

ハッシュ アルゴリズムで使用するキーを取得または設定します。

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)

このメンバーは Dispose(Boolean) をオーバーライドし、より詳細なドキュメントがそのトピックで使用できるようになる場合があります。

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

Dispose(Boolean)

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

(継承元 HMAC)
Equals(Object)

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

(継承元 Object)
Finalize()

オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。

GetHashCode()

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

(継承元 Object)
GetType()

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

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

ハッシュ メッセージ認証コード (HMAC) を計算するために、オブジェクトに書き込まれたデータを SHA1 ハッシュ アルゴリズムにルーティングします。

HashCore(Byte[], Int32, Int32)

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

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

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

HashCore(ReadOnlySpan<Byte>)

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

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

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

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

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

HashData(Byte[], Stream)

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

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

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

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

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

HashData(ReadOnlySpan<Byte>, Stream)

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

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

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

HashDataAsync(Byte[], Stream, CancellationToken)

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

HashDataAsync(ReadOnlyMemory<Byte>, Stream, CancellationToken)

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

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

SHA1 アルゴリズムを使用して、ストリームの 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)

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

TryHashFinal(Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

(継承元 HMAC)
TryHashFinal(Span<Byte>, Int32)

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

(継承元 HashAlgorithm)

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

IDisposable.Dispose()

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

(継承元 HashAlgorithm)

適用対象

こちらもご覧ください