HashAlgorithmType Enumeración

Definición

Especifica el algoritmo que se usa para generar códigos de autenticación de mensajes (MAC).

public enum class HashAlgorithmType
public enum HashAlgorithmType
type HashAlgorithmType = 
Public Enum HashAlgorithmType
Herencia
HashAlgorithmType

Campos

Md5 32771

Algoritmo hash Message Digest 5 (MD5).

Debido a problemas de colisión con MD5, Microsoft recomienda SHA256.

None 0

No se usa algoritmo de hash.

Sha1 32772

Algoritmo hash seguro (SHA1).

Debido a problemas de colisión con SHA1, Microsoft recomienda SHA256.

Sha256 32780

Algoritmo hash seguro 2 (SHA-2), con un resumen de 256 bits.

Sha384 32781

Algoritmo hash seguro 2 (SHA-2), con un resumen de 384 bits.

Sha512 32782

Algoritmo hash seguro 2 (SHA-2), con un resumen de 512 bits.

Ejemplos

En el ejemplo siguiente se muestran las propiedades de una SslStream después de que la autenticación se haya realizado correctamente.

static void AuthenticateCallback( IAsyncResult^ ar )
{
   SslStream^ stream = dynamic_cast<SslStream^>(ar->AsyncState);
   try
   {
      stream->EndAuthenticateAsClient( ar );
      Console::WriteLine( L"Authentication succeeded." );
      Console::WriteLine( L"Cipher: {0} strength {1}", stream->CipherAlgorithm, stream->CipherStrength );
      Console::WriteLine( L"Hash: {0} strength {1}", stream->HashAlgorithm, stream->HashStrength );
      Console::WriteLine( L"Key exchange: {0} strength {1}", stream->KeyExchangeAlgorithm, stream->KeyExchangeStrength );
      Console::WriteLine( L"Protocol: {0}", stream->SslProtocol );
      
      // Encode a test message into a byte array.
      // Signal the end of the message using the "<EOF>".
      array<Byte>^message = Encoding::UTF8->GetBytes( L"Hello from the client.<EOF>" );
      
      // Asynchronously send a message to the server.
      stream->BeginWrite( message, 0, message->Length, gcnew AsyncCallback( WriteCallback ), stream );
   }
   catch ( Exception^ authenticationException ) 
   {
      e = authenticationException;
      complete = true;
      return;
   }

}
static void AuthenticateCallback(IAsyncResult ar)
{
    SslStream stream = (SslStream) ar.AsyncState;
    try
    {
        stream.EndAuthenticateAsClient(ar);
        Console.WriteLine("Authentication succeeded.");
        Console.WriteLine("Cipher: {0} strength {1}", stream.CipherAlgorithm,
            stream.CipherStrength);
        Console.WriteLine("Hash: {0} strength {1}",
            stream.HashAlgorithm, stream.HashStrength);
        Console.WriteLine("Key exchange: {0} strength {1}",
            stream.KeyExchangeAlgorithm, stream.KeyExchangeStrength);
        Console.WriteLine("Protocol: {0}", stream.SslProtocol);
        // Encode a test message into a byte array.
        // Signal the end of the message using the "<EOF>".
        byte[] message = Encoding.UTF8.GetBytes("Hello from the client.<EOF>");
        // Asynchronously send a message to the server.
        stream.BeginWrite(message, 0, message.Length,
            new AsyncCallback(WriteCallback),
            stream);
    }
    catch (Exception authenticationException)
    {
        e = authenticationException;
        complete = true;
        return;
    }
}

Comentarios

Esta enumeración especifica valores válidos para la SslStream.HashAlgorithm propiedad .

Se aplica a

Consulte también