Freigeben über


HashAlgorithm.TransformFinalBlock-Methode

Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays.

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

Syntax

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

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

Parameter

  • inputBuffer
    Die Eingabe, für die der Hashcode berechnet werden soll.
  • inputOffset
    Der Offset im Bytearray, ab dem Daten verwendet werden sollen.
  • inputCount
    Die Anzahl der Bytes im Bytearray, die als Daten verwendet werden sollen.

Rückgabewert

Ein Array, das eine Kopie des Teils der Eingabe ist, für die die Hashoperation ausgeführt wird.

Hinweise

Sie müssen die TransformFinalBlock-Methode nach dem Aufruf der TransformBlock-Methode, jedoch vor dem Abrufen des letzten Hashwerts aufrufen.

Beachten Sie, dass der Rückgabewert dieser Methode nicht der Hashwert, sondern nur eine Kopie des gehashten Teils der Eingabedaten ist. Um nach dem Aufruf der TransformFinalBlock-Methode den letzten gehashten Wert abzurufen, rufen Sie das in der Hash-Eigenschaft enthaltene Bytearray ab.

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());

Im folgenden Codebeispiel wird nur die TransformFinalBlock-Methode verwendet, um die Hashoperation für eine Zeichenfolge auszuführen.

// Use TransformFinalBlock to hash a string.
byte[] inArray = new ASCIIEncoding().GetBytes("abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformFinalBlock(inArray, 0, 26);
// Use TransformFinalBlock to hash a string.
array<Byte>^inArray = (gcnew ASCIIEncoding)->GetBytes( L"abcdefghijklmnopqrstuvwxyz" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformFinalBlock( inArray, 0, 26 );
// Use TransformFinalBlock to hash a string.
ubyte inArray[] = (new ASCIIEncoding()).GetBytes(
    "abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformFinalBlock(inArray, 0, 26);

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