System.Security.Cryptograph ...


.NET Framework クラス ライブラリ
HashAlgorithm クラス

更新 : 2007 年 11 月

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

名前空間 :  System.Security.Cryptography
アセンブリ :  mscorlib (mscorlib.dll 内)

構文

Visual Basic (宣言)
<ComVisibleAttribute(True)> _
Public MustInherit Class HashAlgorithm _
    Implements ICryptoTransform, IDisposable
Visual Basic (使用法)
Dim instance As HashAlgorithm
C#
[ComVisibleAttribute(true)]
public abstract class HashAlgorithm : ICryptoTransform, 
    IDisposable
Visual C++
[ComVisibleAttribute(true)]
public ref class HashAlgorithm abstract : ICryptoTransform, 
    IDisposable
J#
/** @attribute ComVisibleAttribute(true) */
public abstract class HashAlgorithm implements ICryptoTransform, 
    IDisposable
JScript
public abstract class HashAlgorithm implements ICryptoTransform, IDisposable
解説

ハッシュ関数は現代の暗号化技術の基本です。ハッシュ関数は、任意の長さのバイナリ文字列をハッシュ値と呼ばれる固定長の小さなバイナリ文字列に割り当てます。暗号ハッシュ関数では、同じ値にハッシュされる 2 つの異なる入力値を検出することが計算上不可能です。ハッシュ関数は、一般的に、デジタル署名でデータの整合性を保つために使用されます。

ハッシュは、大量のデータを表す固定サイズの一意の値として使用されます。2 つのデータ セットのハッシュが一致するのは、対応するデータも一致する場合です。データを少し変更しただけでも、ハッシュは予測できないほど大幅に変更されてしまいます。

継承元へのメモ :

HashAlgorithm クラスから継承する場合、HashCore メンバおよび HashFinal メンバをオーバーライドする必要があります。


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

Visual Basic
Dim sha As New SHA1CryptoServiceProvider()
Dim result As Byte() = sha.ComputeHash(dataArray)
C#
HashAlgorithm sha = new SHA1CryptoServiceProvider();
byte[] result = sha.ComputeHash(dataArray);
Visual C++
HashAlgorithm^ sha = gcnew SHA1CryptoServiceProvider;
array<Byte>^ result = sha->ComputeHash( dataArray );
J#
HashAlgorithm sha = new SHA1CryptoServiceProvider();
ubyte result[] = sha.ComputeHash(dataArray);
継承階層

System..::.Object
  System.Security.Cryptography..::.HashAlgorithm
    System.Security.Cryptography..::.KeyedHashAlgorithm
    System.Security.Cryptography..::.MD5
    System.Security.Cryptography..::.RIPEMD160
    System.Security.Cryptography..::.SHA1
    System.Security.Cryptography..::.SHA256
    System.Security.Cryptography..::.SHA384
    System.Security.Cryptography..::.SHA512
スレッド セーフ

この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 3.5、2.0
参照

参照

その他の技術情報

タグ :


Page view tracker