HashAlgorithmType HashAlgorithmType HashAlgorithmType HashAlgorithmType Enum

定义

指定用于生成消息身份验证代码 (MAC) 的算法。Specifies the algorithm used for generating message authentication codes (MACs).

public enum class HashAlgorithmType
public enum HashAlgorithmType
type HashAlgorithmType = 
Public Enum HashAlgorithmType
继承
HashAlgorithmTypeHashAlgorithmTypeHashAlgorithmTypeHashAlgorithmType

字段

Md5 Md5 Md5 Md5 32771

Message Digest 5 (MD5) 哈希算法。The Message Digest 5 (MD5) hashing algorithm.

None None None None 0

没有使用哈希算法。No hashing algorithm is used.

Sha1 Sha1 Sha1 Sha1 32772

安全哈希算法 (SHA1)。The Secure Hashing Algorithm (SHA1).

Sha256 Sha256 Sha256 Sha256 32780

安全哈希算法 2 (SHA-2),使用 256 位摘要。The Secure Hashing Algorithm 2 (SHA-2), using a 256-bit digest.

Sha384 Sha384 Sha384 Sha384 32781

安全哈希算法 2 (SHA-2),使用 384 位摘要。The Secure Hashing Algorithm 2 (SHA-2), using a 384-bit digest.

Sha512 Sha512 Sha512 Sha512 32782

安全哈希算法 2 (SHA-2),使用 512 位摘要。The Secure Hashing Algorithm 2 (SHA-2), using a 512-bit digest.

示例

以下示例显示在身份验证成功SslStream后的属性。The following example displays the properties of an SslStream after authentication has succeeded.

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;
    }
}

注解

此枚举指定SslStream.HashAlgorithm属性的有效值。This enumeration specifies valid values for the SslStream.HashAlgorithm property.

适用于

另请参阅