Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe MD5

 

Representa a classe base abstrata da qual todas as implementações do algoritmo de hash MD5 herdam.

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


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

NomeDescrição
System_CAPS_protmethodMD5()

Inicializa uma nova instância de MD5.

NomeDescrição
System_CAPS_pubpropertyCanReuseTransform

Obtém um valor que indica se a transformação atual pode ser reutilizada.(Herdado de HashAlgorithm.)

System_CAPS_pubpropertyCanTransformMultipleBlocks

Quando substituído em uma classe derivada, obtém um valor que indica se vários blocos podem ser transformados.(Herdado de HashAlgorithm.)

System_CAPS_pubpropertyHash

Obtém o valor do código hash computado.(Herdado de HashAlgorithm.)

System_CAPS_pubpropertyHashSize

Obtém o tamanho, em bits, do código hash computado.(Herdado de HashAlgorithm.)

System_CAPS_pubpropertyInputBlockSize

Quando substituído em uma classe derivada, obtém o tamanho do bloco de entrada.(Herdado de HashAlgorithm.)

System_CAPS_pubpropertyOutputBlockSize

Quando substituído em uma classe derivada, obtém o tamanho do bloco de saída.(Herdado de HashAlgorithm.)

NomeDescrição
System_CAPS_pubmethodClear()

Libera todos os recursos usados pela classe HashAlgorithm.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Byte[])

Calcula o valor do hash da matriz de bytes especificada.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Byte[], Int32, Int32)

Calcula o valor de hash para a região especificada da matriz de bytes especificada.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodComputeHash(Stream)

Calcula o valor do hash do objeto Stream especificado.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodSystem_CAPS_staticCreate()

Cria uma instância da implementação padrão do algoritmo de hash MD5.

System_CAPS_pubmethodSystem_CAPS_staticCreate(String)

Cria uma instância da implementação especificada do algoritmo de hash MD5.

System_CAPS_pubmethodDispose()

Libera todos os recursos usados pela instância atual do HashAlgorithm classe.(Herdado de HashAlgorithm.)

System_CAPS_protmethodDispose(Boolean)

Libera os recursos não gerenciados usados pelo HashAlgorithm e opcionalmente libera os recursos gerenciados.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodEquals(Object)

Determina se o objeto especificado é igual ao objeto atual.(Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes de ser recuperado pela coleta de lixo.(Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodHashCore(Byte[], Int32, Int32)

Quando substituído em uma classe derivada, roteia os dados gravados no objeto para o algoritmo de hash para computar o hash.(Herdado de HashAlgorithm.)

System_CAPS_protmethodHashFinal()

Quando substituído em uma classe derivada, finaliza o cálculo de hash depois que os últimos dados são processados pelo objeto de fluxo criptográfico.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodInitialize()

Inicializa uma implementação da classe HashAlgorithm.(Herdado de HashAlgorithm.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodToString()

Retorna uma cadeia de caracteres que representa o objeto atual.(Herdado de Object.)

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

Calcula o valor de hash para a região especificada da matriz de bytes de entrada e copia a região especificada da matriz de bytes de entrada para a região especificada da matriz de bytes de saída.(Herdado de HashAlgorithm.)

System_CAPS_pubmethodTransformFinalBlock(Byte[], Int32, Int32)

Calcula o valor de hash para a região especificada da matriz de bytes especificada.(Herdado de HashAlgorithm.)

NomeDescrição
System_CAPS_protfieldHashSizeValue

Representa o tamanho, em bits, do código hash calculado.(Herdado de HashAlgorithm.)

System_CAPS_protfieldHashValue

Representa o valor do código hash computado.(Herdado de HashAlgorithm.)

System_CAPS_protfieldState

Representa o estado do cálculo de hash.(Herdado de HashAlgorithm.)

Hash funções mapa binárias cadeias de caracteres de um comprimento arbitrário que cadeias pequenas de binários de comprimento fixo. Uma função de hash criptográfico tem a propriedade que é impraticável para encontrar duas entradas distintas que usam o hash para o mesmo valor. Isto é, hashes de dois conjuntos de dados devem corresponder se também correspondam os dados correspondentes. Pequenas alterações aos dados resultar em grandes, imprevisíveis alterações no hash.

Tamanho de hash para o MD5 algoritmo é de 128 bits.

O ComputeHash métodos de MD5 classe retornar o hash como uma matriz de 16 bytes. Observe que algumas implementações de MD5 produzem um hash de 32 caracteres, em formato hexadecimal. Para interoperar com tais implementações, formatar o valor de retorno de ComputeHash métodos como um valor hexadecimal.

System_CAPS_noteObservação

Funções de hash mais recentes, como o Hash seguro \ algoritmos SHA-256 e SHA-512, estão disponíveis. Considere o uso de SHA256 classe ou o SHA512 classe o MD5 classe. Use MD5 somente para compatibilidade com aplicativos herdados e dados.

O código a seguir exemplo calcula o MD5 o valor de uma cadeia de caracteres de hash e retorna o hash como uma cadeia de caracteres de 32 caracteres, em formato hexadecimal. A cadeia de caracteres de hash criada por esse exemplo de código é compatível com qualquer função de hash MD5 (em qualquer plataforma) que cria uma cadeia de caracteres de hash de 32 caracteres, em formato hexadecimal.

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
Disponível desde 1.1

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: