HashAlgorithmName Struct

Definition

Specifies the name of a cryptographic hash algorithm.

public value class HashAlgorithmName : IEquatable<System::Security::Cryptography::HashAlgorithmName>
public struct HashAlgorithmName : IEquatable<System.Security.Cryptography.HashAlgorithmName>
type HashAlgorithmName = struct
Public Structure HashAlgorithmName
Implements IEquatable(Of HashAlgorithmName)
Inheritance
HashAlgorithmName
Implements

Remarks

The HashAlgorithmName structure includes some static properties that return predefined hash algorithm names, as well as a Name property that can represent a custom hash algorithm name as a strongly-typed string. Hash algorithm names are case-sensitive.

Asymmetric algorithms implemented using Microsoft's CNG (Cryptographic Next Generation) API interpret the underlying string value as a CNG algorithm identifier.

Asymmetric algorithms implemented using other technologies:

  • Must recognize at least "MD5", "SHA1", "SHA256", "SHA384", and "SHA512".

  • Should recognize additional CNG identifiers for any additional hash algorithms that they support.

Due to collision problems with MD5 and SHA1, Microsoft recommends a security model based on SHA256 or better.

Constructors

HashAlgorithmName(String)

Initializes a new instance of the HashAlgorithmName structure with a custom name.

Properties

MD5

Gets a hash algorithm name that represents "MD5".

Name

Gets the underlying string representation of the algorithm name.

SHA1

Gets a hash algorithm name that represents "SHA1".

SHA256

Gets a hash algorithm name that represents "SHA256".

SHA384

Gets a hash algorithm name that represents "SHA384".

SHA512

Gets a hash algorithm name that represents "SHA512".

Methods

Equals(HashAlgorithmName)

Returns a value that indicates whether two HashAlgorithmName instances are equal.

Equals(Object)

Returns a value that indicates whether the current instance and a specified object are equal.

GetHashCode()

Returns the hash code for the current instance.

ToString()

Returns the string representation of the current HashAlgorithmName instance.

Operators

Equality(HashAlgorithmName, HashAlgorithmName)

Determines whether two specified HashAlgorithmName objects are equal.

Inequality(HashAlgorithmName, HashAlgorithmName)

Determines whether two specified HashAlgorithmName objects are not equal.

Applies to