PasswordDeriveBytes.CryptDeriveKey Method (String, String, Int32, Byte[])


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Derives a cryptographic key from the PasswordDeriveBytes object.

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

public byte[] CryptDeriveKey(
	string algname,
	string alghashname,
	int keySize,
	byte[] rgbIV


Type: System.String

The algorithm name for which to derive the key.

Type: System.String

The hash algorithm name to use to derive the key.

Type: System.Int32

The size of the key, in bits, to derive.

Type: System.Byte[]

The initialization vector (IV) to use to derive the key.

Return Value

Type: System.Byte[]

The derived key.

Exception Condition

The keySize parameter is incorrect.


The cryptographic service provider (CSP) cannot be acquired.


The algname parameter is not a valid algorithm name.


The alghashname parameter is not a valid hash algorithm name.

This function is a wrapper for the Crypto API function CryptDeriveKey(), and is intended to offer interoperability with applications using the Crypto API.

If the keySize parameter is set to 0 bits, the default key size for the specified algorithm is used.

This code example is part of a larger example provided for the PasswordDeriveBytes class.

// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);

.NET Framework
Available since 1.1
Return to top