Freigeben über


HashAlgorithm.TransformBlock-Methode

Errechnet den Hashwert für den angegebenen Bereich des Eingabebytearrays und kopiert den resultierenden Hashwert in den angegebenen Bereich des Ausgabebytearrays.

Namespace: System.Security.Cryptography
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Function TransformBlock ( _
    inputBuffer As Byte(), _
    inputOffset As Integer, _
    inputCount As Integer, _
    outputBuffer As Byte(), _
    outputOffset As Integer _
) As Integer
'Usage
Dim instance As HashAlgorithm
Dim inputBuffer As Byte()
Dim inputOffset As Integer
Dim inputCount As Integer
Dim outputBuffer As Byte()
Dim outputOffset As Integer
Dim returnValue As Integer

returnValue = instance.TransformBlock(inputBuffer, inputOffset, inputCount, outputBuffer, outputOffset)
public int TransformBlock (
    byte[] inputBuffer,
    int inputOffset,
    int inputCount,
    byte[] outputBuffer,
    int outputOffset
)
public:
virtual int TransformBlock (
    array<unsigned char>^ inputBuffer, 
    int inputOffset, 
    int inputCount, 
    array<unsigned char>^ outputBuffer, 
    int outputOffset
) sealed
public final int TransformBlock (
    byte[] inputBuffer, 
    int inputOffset, 
    int inputCount, 
    byte[] outputBuffer, 
    int outputOffset
)
public final function TransformBlock (
    inputBuffer : byte[], 
    inputOffset : int, 
    inputCount : int, 
    outputBuffer : byte[], 
    outputOffset : int
) : int

Parameter

  • inputBuffer
    Die Eingabe, für die der Hashcode berechnet werden soll.
  • inputOffset
    Der Offset im Eingabebytearray, ab dem Daten verwendet werden sollen.
  • inputCount
    Die Anzahl der Bytes im Eingabebytearray, die als Daten verwendet werden sollen.
  • outputBuffer
    Eine Kopie des Teils des Eingabearrays, mit dessen Hilfe der Hashcode berechnet wird.
  • outputOffset
    Der Offset im Ausgabebytearray, ab dem Daten geschrieben werden sollen.

Rückgabewert

Die Anzahl der geschriebenen Bytes.

Hinweise

Vor dem Aufruf der TransformFinalBlock-Methode müssen Sie die TransformBlock-Methode aufrufen. Sie müssen beide Methoden aufrufen, bevor Sie den letzten Hashwert abrufen.

Um nach dem Aufruf der TransformFinalBlock-Methode den letzten Hashwert abzurufen, rufen Sie das in der Hash-Eigenschaft enthaltene Bytearray ab.

Wenn die TransformBlock-Methode mit unterschiedlichen Ein- und Ausgabearrays aufgerufen wird, löst dies eineIOException aus.

Beispiel

In den folgenden Codebeispielen wird die TransformFinalBlock-Methode mit der TransformBlock-Methode verwendet, um den Hashwert für eine Zeichenfolge zu berechnen.

// Use TransformFinalBlock with TransformBlock to hash a string.
byte[] inArray = new ASCIIEncoding().GetBytes("abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray, 0, 13, inArray, 0);
md5.TransformFinalBlock(inArray, 13, 13);
// Use TransformFinalBlock with TransformBlock to hash a string.
array<Byte>^inArray = (gcnew ASCIIEncoding)->GetBytes( L"abcdefghijklmnopqrstuvwxyz" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformBlock( inArray, 0, 13, inArray, 0 );
md5->TransformFinalBlock( inArray, 13, 13 );
// Use TransformFinalBlock with TransformBlock to hash a string.
ubyte inArray[] = (new ASCIIEncoding()).GetBytes(
    "abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray, 0, 13, inArray, 0);
md5.TransformFinalBlock(inArray, 13, 13);
// Hash two strings together.
byte[] inArray1 = new ASCIIEncoding().GetBytes("message ");
byte[] inArray2 = new ASCIIEncoding().GetBytes("digest");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray1, 0, inArray1.Length, inArray1, 0);
md5.TransformFinalBlock(inArray2, 0, inArray2.Length);
// Hash two strings together.
array<Byte>^inArray1 = (gcnew ASCIIEncoding)->GetBytes( L"message " );
array<Byte>^inArray2 = (gcnew ASCIIEncoding)->GetBytes( L"digest" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformBlock( inArray1, 0, inArray1->Length, inArray1, 0 );
md5->TransformFinalBlock( inArray2, 0, inArray2->Length );
// Hash two strings together.
ubyte inArray1[] = (new ASCIIEncoding()).GetBytes("message ");
ubyte inArray2[] = (new ASCIIEncoding()).GetBytes("digest");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray1, 0, inArray1.get_Length(), inArray1, 0);
md5.TransformFinalBlock(inArray2, 0, inArray2.get_Length());

Plattformen

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

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

HashAlgorithm-Klasse
HashAlgorithm-Member
System.Security.Cryptography-Namespace

Weitere Ressourcen

Kryptografische Dienste