HashAlgorithmType Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje algoritmus používaný pro generování ověřovacích kódů zpráv (MAC).
public enum class HashAlgorithmType
public enum HashAlgorithmType
type HashAlgorithmType =
Public Enum HashAlgorithmType
- Dědičnost
Pole
Md5 | 32771 | Algoritmus hash Message Digest 5 (MD5). Kvůli problémům s kolizemi s MD5 Microsoft doporučuje SHA256. |
None | 0 | Nepoužívá se žádný hashovací algoritmus. |
Sha1 | 32772 | Algoritmus sha1 (Secure Hashing Algorithm). Kvůli problémům s kolizí s sha1 microsoft doporučuje SHA256. |
Sha256 | 32780 | Secure Hashing Algorithm 2 (SHA-2), který používá 256bitový algoritmus hash. |
Sha384 | 32781 | Algoritmus SHA-2 (Secure Hashing Algorithm 2), který používá 384bitový algoritmus hash. |
Sha512 | 32782 | Algoritmus SHA-2 (Secure Hashing Algorithm 2), který používá 512bitový algoritmus hash. |
Příklady
Následující příklad zobrazuje vlastnosti objektu SslStream po úspěšném ověření.
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;
}
}
Poznámky
Tento výčet určuje platné hodnoty pro SslStream.HashAlgorithm vlastnost .