HashAlgorithm.TransformBlock メソッド
入力バイト配列の指定した領域のハッシュ値を計算し、結果ハッシュ値を出力バイト配列の指定した領域にコピーします。
Public Overridable Function TransformBlock( _
ByVal inputBuffer() As Byte, _ ByVal inputOffset As Integer, _ ByVal inputCount As Integer, _ ByVal outputBuffer() As Byte, _ ByVal outputOffset As Integer _) As Integer Implements ICryptoTransform.TransformBlock
[C#]
public virtual int TransformBlock(byte[] inputBuffer,intinputOffset,intinputCount,byte[] outputBuffer,intoutputOffset);
[C++]
public: virtual int TransformBlock(unsigned charinputBuffer __gc[],intinputOffset,intinputCount,unsigned charoutputBuffer __gc[],intoutputOffset);
[JScript]
public function TransformBlock(
inputBuffer : Byte[],inputOffset : int,inputCount : int,outputBuffer : Byte[],outputOffset : int) : int;
パラメータ
- inputBuffer
ハッシュ コードを計算する対象の入力データ。 - inputOffset
入力バイト配列内のデータの使用開始位置を示すオフセット。 - inputCount
データとして使用する入力バイト配列内のバイト数。 - outputBuffer
配列を書き込む先の出力。 - outputOffset
書き込みの開始位置を示す出力バイト配列内のオフセット。
戻り値
書き込むバイト数。
実装
ICryptoTransform.TransformBlock
例外
例外の種類 | 条件 |
---|---|
System.IO.Exception | 入力バッファと出力バッファが異なります。 |
解説
このメソッドは、バイト配列のハッシュを作成するために、 TransformFinalBlock メソッドと共に使用されます。
このメソッドには、パラメータとして入力配列、オフセット、ハッシュするバイト数、出力配列、およびオフセットを指定します。ただし、出力配列に格納されるのはハッシュのコピーではなく、入力配列のコピーです。このメソッドの使用例を次に示します。
sha1.TransformBlock(inArray, 0, inArray.Length, inArray, 0);
ハッシュを作成する例を次に示します。
byte[] inArray = new ASCIIEncoding().GetBytes("abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray, 0, 13, inArray, 0);
md5.TransformFinalBlock(inArray, 13, 13);
//The value of md5.Hash = { 0xc3, 0xfc, 0xd3, 0xd7, 0x61, 0x92, 0xe4, 0x00, 0x7d, 0xfb, 0x49, 0x6c, 0xca, 0x67, 0xe1, 0x3b };
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
HashAlgorithm クラス | HashAlgorithm メンバ | System.Security.Cryptography 名前空間 | 暗号サービス