HashAlgorithmType Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie l'algorithme utilisé pour générer des codes d'authentification de message.
public enum class HashAlgorithmType
public enum HashAlgorithmType
type HashAlgorithmType =
Public Enum HashAlgorithmType
- Héritage
Champs
Md5 | 32771 | Algorithme de hachage MD5 (Message Digest 5). En raison de problèmes de collision avec MD5, Microsoft recommande SHA256. |
None | 0 | Aucun algorithme de hachage utilisé. |
Sha1 | 32772 | Algorithme de hachage sécurisé (SHA1). En raison de problèmes de collision avec SHA-1, Microsoft recommande SHA-256. |
Sha256 | 32780 | L’algorithme de hachage SHA-2, avec un condensat de 256 bits. |
Sha384 | 32781 | L’algorithme de hachage SHA-2, avec un condensat de 384 bits. |
Sha512 | 32782 | L’algorithme de hachage SHA-2, avec un condensat de 512 bits. |
Exemples
L’exemple suivant affiche les propriétés d’une SslStream fois l’authentification réussie.
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;
}
}
Remarques
Cette énumération spécifie des valeurs valides pour la SslStream.HashAlgorithm propriété .