HashAlgorithm クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<ComVisibleAttribute(True)> _ Public MustInherit Class HashAlgorithm Implements ICryptoTransform, IDisposable

ハッシュ関数は現代の暗号化技術の基本です。ハッシュ関数は、任意の長さのバイナリ文字列をハッシュ値と呼ばれる固定長の小さなバイナリ文字列に割り当てます。暗号ハッシュ関数では、同じ値にハッシュされる 2 つの異なる入力値を検出することが計算上不可能です。ハッシュ関数は、一般的に、デジタル署名でデータの整合性を保つために使用されます。
ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。2 つのデータ セットのハッシュが一致するのは、対応するデータも一致する場合です。データを少し変更しただけでも、ハッシュは予測できないほど大幅に変更されてしまいます。
継承時の注意 HashAlgorithm クラスから継承する場合、HashCore メンバおよび HashFinal メンバをオーバーライドする必要があります。
配列の SHA1CryptoServiceProvider ハッシュを計算するコード例を次に示します。この例では、定義済みのバイト配列 dataArray[] があることを前提にしています。SHA1CryptoServiceProvider は HashAlgorithm の派生クラスです。



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HashAlgorithm コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


HashAlgorithm フィールド

名前 | 説明 | |
---|---|---|
![]() | HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。 |
![]() | HashValue | 計算されたハッシュ コードの値を表します。 |
![]() | State | ハッシュ計算の状態を表します。 |

HashAlgorithm プロパティ
HashAlgorithm メソッド

名前 | 説明 | |
---|---|---|
![]() | Clear | HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 |
![]() | ComputeHash | オーバーロードされます。 入力データのハッシュ値を計算します。 |
![]() | Create | オーバーロードされます。 HashAlgorithm クラスの実装のインスタンスを作成します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | Initialize | HashAlgorithm クラスの実装を初期化します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
![]() | TransformBlock | 入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 |
![]() | TransformFinalBlock | 指定したバイト配列の指定した領域のハッシュ値を計算します。 |

名前 | 説明 | |
---|---|---|
![]() | Dispose | HashAlgorithm によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | HashCore | 派生クラスでオーバーライドされると、ハッシュを計算するために、オブジェクトに書き込まれたデータをハッシュ アルゴリズムにルーティングします。 |
![]() | HashFinal | 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |


HashAlgorithm メンバ
暗号ハッシュ アルゴリズムのすべての実装の派生元となる基本クラスを表します。
HashAlgorithm データ型で公開されるメンバを以下の表に示します。


名前 | 説明 | |
---|---|---|
![]() | HashSizeValue | 計算されたハッシュ コードのサイズをビット単位で表します。 |
![]() | HashValue | 計算されたハッシュ コードの値を表します。 |
![]() | State | ハッシュ計算の状態を表します。 |


名前 | 説明 | |
---|---|---|
![]() | Clear | HashAlgorithm クラスによって使用されているすべてのリソースを解放します。 |
![]() | ComputeHash | オーバーロードされます。 入力データのハッシュ値を計算します。 |
![]() | Create | オーバーロードされます。 HashAlgorithm クラスの実装のインスタンスを作成します。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | Initialize | HashAlgorithm クラスの実装を初期化します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
![]() | TransformBlock | 入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。 |
![]() | TransformFinalBlock | 指定したバイト配列の指定した領域のハッシュ値を計算します。 |

名前 | 説明 | |
---|---|---|
![]() | Dispose | HashAlgorithm によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | HashCore | 派生クラスでオーバーライドされると、ハッシュを計算するために、オブジェクトに書き込まれたデータをハッシュ アルゴリズムにルーティングします。 |
![]() | HashFinal | 派生クラスでオーバーライドされると、暗号ストリーム オブジェクトによって最後のデータが処理された後に、ハッシュ計算を終了します。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |


HashAlgorithm 列挙体
アセンブリ: System.Messaging (system.messaging.dll 内)

Public Enumeration HashAlgorithm

メンバ名 | 説明 | |
---|---|---|
Mac | MAC キー付きハッシュ アルゴリズム。 | |
Md2 | MD2 ハッシュ アルゴリズム。 | |
Md4 | MD4 ハッシュ アルゴリズム。 | |
Md5 | MD5 ハッシュ アルゴリズム。 | |
None | ハッシュ アルゴリズムなし。 | |
Sha | SHA ハッシュ アルゴリズム。 |

メッセージ認証は 2 つのサービスを提供します。1 つはメッセージの整合性を保証するサービス、もう 1 つはメッセージの送信元を確認するサービスです。認証を要求するには、送信元アプリケーションが、認証されるメッセージの認証レベルを設定し、メッセージにセキュリティ証明書を添付する必要があります。
メッセージを認証するために、送信元コンピュータ上のメッセージ キュー ランタイム 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- HashAlgorithmのページへのリンク