Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MD5CryptoServiceProvider-Klasse

 

Veröffentlicht: Oktober 2016

Berechnet die MD5 der Hashwert für die Eingabedaten unter Verwendung der Implementierung, die von der Kryptografiedienstanbieter (CSP) bereitgestellt. Diese Klasse kann nicht vererbt werden.

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

System.Object
  System.Security.Cryptography.HashAlgorithm
    System.Security.Cryptography.MD5
      System.Security.Cryptography.MD5CryptoServiceProvider

[ComVisibleAttribute(true)]
public sealed class MD5CryptoServiceProvider : MD5

NameBeschreibung
System_CAPS_pubmethodMD5CryptoServiceProvider()

Initialisiert eine neue Instanz der MD5CryptoServiceProvider-Klasse.

NameBeschreibung
System_CAPS_pubpropertyCanReuseTransform

Ruft einen Wert ab, der angibt, ob die aktuelle Transformation wiederverwendet werden kann.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubpropertyCanTransformMultipleBlocks

Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob mehrere Blöcke transformiert werden können.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubpropertyHash

Ruft den Wert des berechneten Hashcodes ab.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubpropertyHashSize

Ruft die Größe des berechneten Hashcodes in Bits ab.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubpropertyInputBlockSize

Ruft beim Überschreiben in einer abgeleiteten Klasse die Eingabeblockgröße ab.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubpropertyOutputBlockSize

Ruft beim Überschreiben in einer abgeleiteten Klasse die Ausgabeblockgröße ab.(Geerbt von „HashAlgorithm“.)

NameBeschreibung
System_CAPS_pubmethodClear()

Gibt alle von der HashAlgorithm-Klasse verwendeten Ressourcen frei.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodComputeHash(Byte[])

Berechnet den Hashwert für das angegebene Bytearray.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodComputeHash(Byte[], Int32, Int32)

Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodComputeHash(Stream)

Berechnet den Hashwert für das angegebene Stream-Objekt.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodDispose()

Gibt alle von der aktuellen Instanz der HashAlgorithm-Klasse verwendeten Ressourcen frei.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_pubmethodInitialize()

Initialisiert eine Instanz von MD5CryptoServiceProvider.(Überschreibt HashAlgorithm.Initialize().)

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

System_CAPS_pubmethodTransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Berechnet den Hashwert für den angegebenen Bereich des Eingabebytearrays und kopiert den angegebenen Bereich des Eingabebytearrays in den angegebenen Bereich des Ausgabebytearrays.(Geerbt von „HashAlgorithm“.)

System_CAPS_pubmethodTransformFinalBlock(Byte[], Int32, Int32)

Berechnet den Hashwert für den angegebenen Bereich des angegebenen Bytearrays.(Geerbt von „HashAlgorithm“.)

NameBeschreibung
System_CAPS_protfieldHashValue

Stellt den Wert des errechneten Hashcodes dar.(Geerbt von „HashAlgorithm“.)

Hash ordnen binäre Zeichenfolgen beliebiger Länge kleinen binären Zeichenfolgen fester Länge. Eine kryptografischen Hashfunktion verfügt über die Eigenschaft, dass es rechnerisch unmöglich, zwei verschiedene Eingabewerte, die denselben Hashwert gefunden wird; d. h. sollten Hashes von zwei Sätzen von Daten entsprechen, wenn auch die entsprechenden Daten übereinstimmen. Kleine Änderungen an den Daten führen zu groß ist, zu unvorhersehbaren Änderungen im HashSet.

System_CAPS_noteHinweis

Neuere Hashfunktionen, z. B. die Secure Hash-Algorithmen-SHA-256 und SHA-512 sind verfügbar. Erwägen Sie die SHA256 Klasse oder die SHA512 -Klasse statt der MD5CryptoServiceProvider Klasse. Verwendung MD5CryptoServiceProvider nur für Kompatibilität mit älteren Anwendungen und Daten.

Die Hashgröße für die MD5CryptoServiceProvider Klasse beträgt 128 Bits.

Die ComputeHash Methoden die MD5CryptoServiceProvider Klasse zurückgeben des Hashcodes als ein Array von 16 Bytes. Beachten Sie, dass einige MD5-Implementierungen einen 32-Zeichen, Hexadezimalformat Hash erzeugt. Um die Interoperabilität mit solche Implementierungen, formatieren den Rückgabewert der ComputeHash Methoden als Hexadezimalwert.

Im folgenden Codebeispiel Beispiel berechnet den MD5 der Hashwert für data und gibt ihn zurück.

byte[] MD5hash (byte[] data)
 {
    // This is one implementation of the abstract class MD5.
    MD5 md5 = new MD5CryptoServiceProvider();

    byte[] result = md5.ComputeHash(data);

    return result;
 }

Im folgenden Codebeispiel Beispiel berechnet den MD5 Hashwert einer Zeichenfolge und gibt den Hash als 32-Zeichen, hexadezimal-formatierte Zeichenfolge zurück. Die Hashzeichenfolge, die durch dieses Codebeispiel erstellt, ist jede MD5-Hash-Funktion (auf einer beliebigen Plattform), die von einer 32-Zeichen, Hexadezimalformat Hashzeichenfolge erstellt kompatibel.

using System;
using System.Security.Cryptography;
using System.Text;

class Example
{
    // Hash an input string and return the hash as
    // a 32 character hexadecimal string.
    static string getMd5Hash(string input)
    {
        // Create a new instance of the MD5CryptoServiceProvider object.
        MD5CryptoServiceProvider md5Hasher = new MD5CryptoServiceProvider();

        // Convert the input string to a byte array and compute the hash.
        byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(input));

        // Create a new Stringbuilder to collect the bytes
        // and create a string.
        StringBuilder sBuilder = new StringBuilder();

        // Loop through each byte of the hashed data 
        // and format each one as a hexadecimal string.
        for (int i = 0; i < data.Length; i++)
        {
            sBuilder.Append(data[i].ToString("x2"));
        }

        // Return the hexadecimal string.
        return sBuilder.ToString();
    }

    // Verify a hash against a string.
    static bool verifyMd5Hash(string input, string hash)
    {
        // Hash the input.
        string hashOfInput = getMd5Hash(input);

        // Create a StringComparer an compare the hashes.
        StringComparer comparer = StringComparer.OrdinalIgnoreCase;

        if (0 == comparer.Compare(hashOfInput, hash))
        {
            return true;
        }
        else
        {
            return false;
        }
    }


    static void Main()
    {
        string source = "Hello World!";

        string hash = getMd5Hash(source);

        Console.WriteLine("The MD5 hash of " + source + " is: " + hash + ".");

        Console.WriteLine("Verifying the hash...");

        if (verifyMd5Hash(source, hash))
        {
            Console.WriteLine("The hashes are the same.");
        }
        else
        {
            Console.WriteLine("The hashes are not same.");
        }

    }
}
// This code example produces the following output:
//
// The MD5 hash of Hello World! is: ed076287532e86365e841e92bfc50d8c.
// Verifying the hash...
// The hashes are the same.

.NET Framework
Verfügbar seit 1.1

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: