Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Classe MD5

 

Data di pubblicazione: ottobre 2016

Rappresenta la classe astratta dalla quale tutte le implementazioni del MD5 ereditare algoritmo hash.

Spazio dei nomi:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)


[ComVisibleAttribute(true)]
public abstract class MD5 : HashAlgorithm

NomeDescrizione
System_CAPS_protmethodMD5()

Inizializza una nuova istanza di MD5.

NomeDescrizione
System_CAPS_pubpropertyCanReuseTransform

Ottiene un valore che indica se è possibile riutilizzare la trasformazione corrente.(Ereditato da HashAlgorithm.)

System_CAPS_pubpropertyCanTransformMultipleBlocks

Quando ne viene eseguito l'override in una classe derivata, ottiene un valore che indica se è possibile trasformare più blocchi.(Ereditato da HashAlgorithm.)

System_CAPS_pubpropertyHash

Ottiene il valore del codice hash calcolato.(Ereditato da HashAlgorithm.)

System_CAPS_pubpropertyHashSize

Ottiene la dimensione in bit del codice hash calcolato.(Ereditato da HashAlgorithm.)

System_CAPS_pubpropertyInputBlockSize

Quando ne viene eseguito l'override in una classe derivata, ottiene la dimensione del blocco di input.(Ereditato da HashAlgorithm.)

System_CAPS_pubpropertyOutputBlockSize

Quando ne viene eseguito l'override in una classe derivata, ottiene la dimensione del blocco di output.(Ereditato da HashAlgorithm.)

NomeDescrizione
System_CAPS_pubmethodClear()

Rilascia tutte le risorse usate dalla classe HashAlgorithm.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Byte[])

Calcola il valore hash della matrice di byte specificata.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Byte[], Int32, Int32)

Calcola il valore hash dell'area specifica della matrice di byte specificata.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Stream)

Calcola il valore hash per l'oggetto Stream specificato.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodSystem_CAPS_staticCreate()

Crea un'istanza dell'implementazione predefinita del MD5 algoritmo hash.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String)

Crea un'istanza dell'implementazione specificata del MD5 algoritmo hash.

System_CAPS_pubmethodDispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe HashAlgorithm.(Ereditato da HashAlgorithm.)

System_CAPS_protmethodDispose(Boolean)

Rilascia le risorse non gestite usate da HashAlgorithm e, facoltativamente, le risorse gestite.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodEquals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object.)

System_CAPS_protmethodFinalize()

Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object.)

System_CAPS_pubmethodGetHashCode()

Funge da funzione hash predefinita.(Ereditato da Object.)

System_CAPS_pubmethodGetType()

Ottiene l'oggetto Type dell'istanza corrente.(Ereditato da Object.)

System_CAPS_protmethodHashCore(Byte[], Int32, Int32)

Quando ne viene eseguito l'override in una classe derivata, indirizza i dati scritti nell'oggetto verso l'algoritmo hash per il calcolo dell'hash.(Ereditato da HashAlgorithm.)

System_CAPS_protmethodHashFinal()

Quando ne viene eseguito l'override in una classe derivata, finalizza il calcolo hash una volta che gli ultimi dati sono stati elaborati dall'oggetto flusso crittografato.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodInitialize()

Inizializza un'implementazione della classe HashAlgorithm.(Ereditato da HashAlgorithm.)

System_CAPS_protmethodMemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.(Ereditato da Object.)

System_CAPS_pubmethodToString()

Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object.)

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

Calcola il valore hash dell'area specifica della matrice di byte di input e copia una determinata area della matrice di byte di input nell'area specifica della matrice di byte di output.(Ereditato da HashAlgorithm.)

System_CAPS_pubmethodTransformFinalBlock(Byte[], Int32, Int32)

Calcola il valore hash dell'area specifica della matrice di byte specificata.(Ereditato da HashAlgorithm.)

NomeDescrizione
System_CAPS_protfieldHashSizeValue

Rappresenta la dimensione in bit del codice hash calcolato.(Ereditato da HashAlgorithm.)

System_CAPS_protfieldHashValue

Rappresenta il valore del codice hash calcolato.(Ereditato da HashAlgorithm.)

System_CAPS_protfieldState

Rappresenta lo stato del calcolo hash.(Ereditato da HashAlgorithm.)

Hash funzioni mappa stringhe binarie di lunghezza arbitraria a piccole stringhe binarie di lunghezza fissa. Una funzione hash crittografica dispone della proprietà che è impossibile da trovare due input distinti che hash con lo stesso valore. vale a dire gli hash di due set di dati devono corrispondere se corrispondano anche i dati corrispondenti. Piccole modifiche ai dati implica modifiche imprevedibili di grandi dimensioni nell'hash.

La dimensione dell'hash per il MD5 algoritmo è 128 bit.

Il ComputeHash metodi la MD5 classe restituire l'hash come una matrice di 16 byte. Si noti che alcune implementazioni MD5 producono un hash in formato esadecimale di 32 caratteri. Per interagire con tali implementazioni, formattare il valore restituito di ComputeHash metodi come valore esadecimale.

System_CAPS_noteNota

Le funzioni hash più recente, ad esempio SHA-256 Secure Hash algoritmi e SHA-512, sono disponibili. È consigliabile utilizzare il SHA256 classe o SHA512 classe anziché la MD5 classe. Utilizzare MD5 solo per compatibilità con le applicazioni legacy e i dati.

Nell'esempio di codice riportato di seguito viene calcolato il MD5 valore hash della stringa e restituisce l'hash come stringa in formato esadecimale di 32 caratteri. La stringa hash creata da questo esempio di codice è compatibile con qualsiasi funzione hash MD5 (su qualsiasi piattaforma) che crea una stringa di formato esadecimale di 32 caratteri hash.

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

namespace MD5Sample
{
    class Program
    {
        static void Main(string[] args)
        {
            string source = "Hello World!";
            using (MD5 md5Hash = MD5.Create())
            {
                string hash = GetMd5Hash(md5Hash, source);

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

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

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



        }
        static string GetMd5Hash(MD5 md5Hash, string input)
        {

            // Convert the input string to a byte array and compute the hash.
            byte[] data = md5Hash.ComputeHash(Encoding.UTF8.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(MD5 md5Hash, string input, string hash)
        {
            // Hash the input.
            string hashOfInput = GetMd5Hash(md5Hash, input);

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

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

    }
}

// 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
Disponibile da 1.1

I membri statici pubblici ( Condiviso in Visual Basic) di questo tipo è thread safe. Non tutti i membri di istanza sono garantiti come thread safe.

Torna all'inizio
Mostra: