HMACSHA1 Constructor (Byte[])

HMACSHA1 Constructor (Byte[])

Updated: March 2011

Initializes a new instance of the HMACSHA1 class with the specified key data.

Namespace:  System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

public HMACSHA1(
	byte[] key


Type: System.Byte[]
The secret key for HMACSHA1 encryption. The key can be any length, but if it is more than 64 bytes long it will be hashed (using SHA-1) to derive a 64-byte key. Therefore, the recommended size of the secret key is 64 bytes.


The key parameter is null.

HMACSHA1 is a type of keyed hash algorithm that is constructed from the SHA1 hash function and used as an HMAC, or hash-based message authentication code. The HMAC process mixes a secret key with the message data, hashes the result with the hash function, mixes that hash value with the secret key again, then applies the hash function a second time. The output hash will be 160 bits (20 bytes) in length.


This constructor creates an unmanaged instance of the algorithm by using the SHA1CryptoServiceProvider class.

For an example of how to use this constructor, see the HMACSHA1 class.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.




March 2011

Added note about SHA1CryptoServiceProvider.

Customer feedback.

Community Additions

© 2015 Microsoft