HashAlgorithm クラス

定義

暗号ハッシュ アルゴリズムのすべての実装の派生元となる基本クラスを表します。

public ref class HashAlgorithm abstract : IDisposable, System::Security::Cryptography::ICryptoTransform
public ref class HashAlgorithm abstract : IDisposable
public ref class HashAlgorithm abstract : System::Security::Cryptography::ICryptoTransform
public abstract class HashAlgorithm : IDisposable, System.Security.Cryptography.ICryptoTransform
public abstract class HashAlgorithm : IDisposable
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class HashAlgorithm : System.Security.Cryptography.ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
type HashAlgorithm = class
    interface IDisposable
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface ICryptoTransform
    interface IDisposable
[<System.Runtime.InteropServices.ComVisible(true)>]
type HashAlgorithm = class
    interface IDisposable
    interface ICryptoTransform
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform, IDisposable
Public MustInherit Class HashAlgorithm
Implements IDisposable
Public MustInherit Class HashAlgorithm
Implements ICryptoTransform
継承
HashAlgorithm
派生
属性
実装

次のコード例では、配列の SHA256 ハッシュを計算します。 この例では、定義済みのバイト配列 dataArray[]があることを前提としています。 SHA256 は の派生クラスです HashAlgorithm

HashAlgorithm^ sha = SHA256::Create();
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = SHA256.Create();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As SHA256 = SHA256.Create()
Dim result As Byte() = sha.ComputeHash(dataArray)

注釈

ハッシュ関数は、最新の暗号化の基礎です。 これらの関数は、任意の長さのバイナリ文字列を、ハッシュ値と呼ばれる固定長の小さなバイナリ文字列にマップします。 暗号化ハッシュ関数には、同じ値にハッシュする 2 つの個別の入力を見つけることが不可能なプロパティがあります。 ハッシュ関数は、データの整合性を確保するために、よくデジタル署名と共に使用されます。

ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。 対応するデータも一致する場合は、2 つのデータ セットのハッシュが一致する必要があります。 データを小さく変更すると、ハッシュの大きな予測不可能な変更が発生します。

SHA1 との競合問題のため、Microsoft では SHA256 以上に基づくセキュリティ モデルを推奨しています。

注意 (実装者)

クラスからHashAlgorithm継承する場合は、 および HashFinal()のメンバーHashCore(Byte[], Int32, Int32)をオーバーライドする必要があります。

コンストラクター

HashAlgorithm()

HashAlgorithm クラスの新しいインスタンスを初期化します。

フィールド

HashSizeValue

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

HashValue

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

State

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

プロパティ

CanReuseTransform

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

CanTransformMultipleBlocks

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

Hash

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

HashSize

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

InputBlockSize

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

OutputBlockSize

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

メソッド

Clear()

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

ComputeHash(Byte[])

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

ComputeHash(Byte[], Int32, Int32)

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

ComputeHash(Stream)

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

ComputeHashAsync(Stream, CancellationToken)

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

Create()
古い.
古い.

ハッシュ アルゴリズムの既定の実装のインスタンスを作成します。

Create(String)
古い.

ハッシュ アルゴリズムの指定された実装のインスタンスを作成します。

Dispose()

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

Dispose(Boolean)

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

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

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

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

HashCore(ReadOnlySpan<Byte>)

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

HashFinal()

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

Initialize()

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

MemberwiseClone()

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

(継承元 Object)
ToString()

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

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

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

TransformFinalBlock(Byte[], Int32, Int32)

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

TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

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

TryHashFinal(Span<Byte>, Int32)

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

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

IDisposable.Dispose()

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

適用対象

こちらもご覧ください