HashAlgorithm HashAlgorithm HashAlgorithm HashAlgorithm Class

定義

暗号ハッシュ アルゴリズムのすべての実装の派生元となる基本クラスを表します。Represents the base class from which all implementations of cryptographic hash algorithms must derive.

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

次のコード例の計算、SHA1CryptoServiceProvider配列のハッシュ。The following code example computes the SHA1CryptoServiceProvider hash for an array. この例では、定義済みのバイト配列がdataArray[]します。This example assumes that there is a predefined byte array dataArray[]. SHA1CryptoServiceProvider 派生クラスであるHashAlgorithmします。SHA1CryptoServiceProvider is a derived class of HashAlgorithm.

HashAlgorithm^ sha = gcnew SHA1CryptoServiceProvider;
array<Byte>^ result = sha->ComputeHash( dataArray );
HashAlgorithm sha = new SHA1CryptoServiceProvider();
byte[] result = sha.ComputeHash(dataArray);
Dim sha As New SHA1CryptoServiceProvider()
Dim result As Byte() = sha.ComputeHash(dataArray)

注釈

ハッシュ関数は、最新の暗号の基盤です。Hash functions are fundamental to modern cryptography. これらの関数は、任意の長さのバイナリ文字列をハッシュ値と呼ばれる、固定長のバイナリ文字列を小規模にマップします。These functions map binary strings of an arbitrary length to small binary strings of a fixed length, known as hash values. 暗号ハッシュ関数では、同じ値にハッシュされる 2 つの異なる入力を見つけるには計算上不可能がないプロパティがあります。A cryptographic hash function has the property that it is computationally infeasible to find two distinct inputs that hash to the same value. デジタル署名を使用し、データの整合性のハッシュ関数がよく使用されます。Hash functions are commonly used with digital signatures and for data integrity.

ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。The hash is used as a unique value of fixed size representing a large amount of data. 対応するデータにも一致する場合、2 つのデータ セットのハッシュが一致する必要があります。Hashes of two sets of data should match if the corresponding data also matches. ハッシュで大規模な予測不可能な変更でデータの結果を少し変更します。Small changes to the data result in large unpredictable changes in the hash.

注意 (継承者)

継承する場合、HashAlgorithmクラスでは、次のメンバーをオーバーライドする必要があります:HashCore(Byte[], Int32, Int32)HashFinal()します。When you inherit from the HashAlgorithm class, you must override the following members: HashCore(Byte[], Int32, Int32) and HashFinal().

コンストラクター

HashAlgorithm() HashAlgorithm() HashAlgorithm() HashAlgorithm()

HashAlgorithm クラスの新しいインスタンスを初期化します。Initializes a new instance of the HashAlgorithm class.

フィールド

HashSizeValue HashSizeValue HashSizeValue HashSizeValue

計算されたハッシュ コードのサイズをビット単位で表します。Represents the size, in bits, of the computed hash code.

HashValue HashValue HashValue HashValue

計算されたハッシュ コードの値を表します。Represents the value of the computed hash code.

State State State State

ハッシュ計算の状態を表します。Represents the state of the hash computation.

プロパティ

CanReuseTransform CanReuseTransform CanReuseTransform CanReuseTransform

現在の変換を再利用できるかどうかを示す値を取得します。Gets a value indicating whether the current transform can be reused.

CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks CanTransformMultipleBlocks

派生クラスでオーバーライドされると、複数のブロックを変換できるかどうかを示す値を取得します。When overridden in a derived class, gets a value indicating whether multiple blocks can be transformed.

Hash Hash Hash Hash

計算されたハッシュ コードの値を取得します。Gets the value of the computed hash code.

HashSize HashSize HashSize HashSize

計算されたハッシュ コードのサイズをビット単位で取得します。Gets the size, in bits, of the computed hash code.

InputBlockSize InputBlockSize InputBlockSize InputBlockSize

派生クラスでオーバーライドされると、入力ブロック サイズを取得します。When overridden in a derived class, gets the input block size.

OutputBlockSize OutputBlockSize OutputBlockSize OutputBlockSize

派生クラスでオーバーライドされると、出力ブロック サイズを取得します。When overridden in a derived class, gets the output block size.

メソッド

Clear() Clear() Clear() Clear()

HashAlgorithm クラスによって使用されているすべてのリソースを解放します。Releases all resources used by the HashAlgorithm class.

ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[]) ComputeHash(Byte[])

指定したバイト配列のハッシュ値を計算します。Computes the hash value for the specified byte array.

ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32) ComputeHash(Byte[], Int32, Int32)

指定したバイト配列の指定した領域のハッシュ値を計算します。Computes the hash value for the specified region of the specified byte array.

ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream) ComputeHash(Stream)

指定された Stream オブジェクトのハッシュ値を計算します。Computes the hash value for the specified Stream object.

Create() Create() Create() Create()

ハッシュ アルゴリズムの既定の実装のインスタンスを作成します。Creates an instance of the default implementation of a hash algorithm.

Create(String) Create(String) Create(String) Create(String)

ハッシュ アルゴリズムの指定された実装のインスタンスを作成します。Creates an instance of the specified implementation of a hash algorithm.

Dispose() Dispose() Dispose() Dispose()

HashAlgorithm クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。Releases all resources used by the current instance of the HashAlgorithm class.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

HashAlgorithm によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32) HashCore(Byte[], Int32, Int32)

派生クラスでオーバーライドされると、ハッシュを計算するために、オブジェクトに書き込まれたデータをハッシュ アルゴリズムにルーティングします。When overridden in a derived class, routes data written to the object into the hash algorithm for computing the hash.

HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>) HashCore(ReadOnlySpan<Byte>)
HashFinal() HashFinal() HashFinal() HashFinal()

派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。When overridden in a derived class, finalizes the hash computation after the last data is processed by the cryptographic stream object.

Initialize() Initialize() Initialize() Initialize()

HashAlgorithm クラスの実装を初期化します。Initializes an implementation of the HashAlgorithm class.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32) TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

入力バイト配列の指定した領域のハッシュ値を計算し、入力バイト配列の指定した領域を出力バイト配列の指定した領域にコピーします。Computes the hash value for the specified region of the input byte array and copies the specified region of the input byte array to the specified region of the output byte array.

TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32) TransformFinalBlock(Byte[], Int32, Int32)

指定したバイト配列の指定した領域のハッシュ値を計算します。Computes the hash value for the specified region of the specified byte array.

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

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

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

HashAlgorithm によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the HashAlgorithm and optionally releases the managed resources.

適用対象

こちらもご覧ください