Edit

Share via


KeyedHashAlgorithm.Create Method

Definition

Creates an instance of an implementation of a keyed hash algorithm.

Overloads

Create()
Obsolete.
Obsolete.

Creates an instance of the default implementation of a keyed hash algorithm.

Create(String)
Obsolete.

Creates an instance of the specified implementation of a keyed hash algorithm.

Create()

Source:
KeyedHashAlgorithm.cs
Source:
KeyedHashAlgorithm.cs
Source:
KeyedHashAlgorithm.cs

Caution

The default implementation of this cryptography algorithm is not supported

Caution

The default implementation of this cryptography algorithm is not supported.

Creates an instance of the default implementation of a keyed hash algorithm.

public:
 static System::Security::Cryptography::KeyedHashAlgorithm ^ Create();
[System.Obsolete("The default implementation of this cryptography algorithm is not supported", DiagnosticId="SYSLIB0007", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Security.Cryptography.KeyedHashAlgorithm Create ();
[System.Obsolete("The default implementation of this cryptography algorithm is not supported.", DiagnosticId="SYSLIB0007", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Security.Cryptography.KeyedHashAlgorithm Create ();
public static System.Security.Cryptography.KeyedHashAlgorithm Create ();
[<System.Obsolete("The default implementation of this cryptography algorithm is not supported", DiagnosticId="SYSLIB0007", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Create : unit -> System.Security.Cryptography.KeyedHashAlgorithm
[<System.Obsolete("The default implementation of this cryptography algorithm is not supported.", DiagnosticId="SYSLIB0007", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Create : unit -> System.Security.Cryptography.KeyedHashAlgorithm
static member Create : unit -> System.Security.Cryptography.KeyedHashAlgorithm
Public Shared Function Create () As KeyedHashAlgorithm

Returns

A new HMACSHA1 instance, unless the default settings have been changed.

Attributes

Remarks

By default, this overload uses the HMACSHA1 implementation of a keyed hash algorithm. If you want to specify a different implementation, use the Create(String) overload, which lets you specify an algorithm name, instead. The cryptography configuration system defines the default implementation of the KeyedHashAlgorithm class.

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

See also

Applies to

Create(String)

Source:
KeyedHashAlgorithm.cs
Source:
KeyedHashAlgorithm.cs
Source:
KeyedHashAlgorithm.cs

Caution

Cryptographic factory methods accepting an algorithm name are obsolete. Use the parameterless Create factory method on the algorithm type instead.

Creates an instance of the specified implementation of a keyed hash algorithm.

public:
 static System::Security::Cryptography::KeyedHashAlgorithm ^ Create(System::String ^ algName);
public static System.Security.Cryptography.KeyedHashAlgorithm? Create (string algName);
[System.Obsolete("Cryptographic factory methods accepting an algorithm name are obsolete. Use the parameterless Create factory method on the algorithm type instead.", DiagnosticId="SYSLIB0045", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public static System.Security.Cryptography.KeyedHashAlgorithm? Create (string algName);
public static System.Security.Cryptography.KeyedHashAlgorithm Create (string algName);
static member Create : string -> System.Security.Cryptography.KeyedHashAlgorithm
[<System.Obsolete("Cryptographic factory methods accepting an algorithm name are obsolete. Use the parameterless Create factory method on the algorithm type instead.", DiagnosticId="SYSLIB0045", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
static member Create : string -> System.Security.Cryptography.KeyedHashAlgorithm
Public Shared Function Create (algName As String) As KeyedHashAlgorithm

Parameters

algName
String

The keyed hash algorithm implementation to use. The following table shows the valid values for the algName parameter and the algorithms they map to.

Parameter value Implements
System.Security.Cryptography.HMAC HMACSHA1
System.Security.Cryptography.KeyedHashAlgorithm HMACSHA1
HMACMD5 HMACMD5
System.Security.Cryptography.HMACMD5 HMACMD5
HMACRIPEMD160 HMACRIPEMD160
System.Security.Cryptography.HMACRIPEMD160 HMACRIPEMD160
HMACSHA1 HMACSHA1
System.Security.Cryptography.HMACSHA1 HMACSHA1
HMACSHA256 HMACSHA256
System.Security.Cryptography.HMACSHA256 HMACSHA256
HMACSHA384 HMACSHA384
System.Security.Cryptography.HMACSHA384 HMACSHA384
HMACSHA512 HMACSHA512
System.Security.Cryptography.HMACSHA512 HMACSHA512
MACTripleDES MACTripleDES
System.Security.Cryptography.MACTripleDES MACTripleDES

Returns

A new instance of the specified keyed hash algorithm.

Attributes

Exceptions

.NET Core 2.0 - 3.1 and .NET 5 and later: In all cases.

Remarks

This method is obsolete in .NET 5 and later versions.

This method supports a number of algorithms, including MD5, SHA-1, SHA-256, and RIPEMD160. For a full list, see the supported values for the algName parameter.

See also

Applies to