PasswordDeriveBytes.CryptDeriveKey Method

Derives a cryptographic key from the PasswordDeriveBytes object.

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

array<unsigned char>^ CryptDeriveKey (
	String^ algname, 
	String^ alghashname, 
	int keySize, 
	array<unsigned char>^ rgbIV
public byte[] CryptDeriveKey (
	String algname, 
	String alghashname, 
	int keySize, 
	byte[] rgbIV
public function CryptDeriveKey (
	algname : String, 
	alghashname : String, 
	keySize : int, 
	rgbIV : byte[]
) : byte[]



The algorithm name for which to derive the key.


The hash algorithm name to use to derive the key.


The size of the key to derive.


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

Return Value

The derived key.

Exception typeCondition


The keySize parameter is greater than 128.


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, the default key size for the specified algorithm is used.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions