Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
CryptDeriveKey Method
Collapse the table of content
Expand the table of content

PasswordDeriveBytes.CryptDeriveKey Method

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.


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

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
© 2015 Microsoft