PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) Método

Definição

Deriva uma chave de criptografia do objeto PasswordDeriveBytes.

public:
 cli::array <System::Byte> ^ CryptDeriveKey(System::String ^ algname, System::String ^ alghashname, int keySize, cli::array <System::Byte> ^ rgbIV);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public byte[] CryptDeriveKey (string? algname, string? alghashname, int keySize, byte[] rgbIV);
public byte[] CryptDeriveKey (string algname, string alghashname, int keySize, byte[] rgbIV);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
Public Function CryptDeriveKey (algname As String, alghashname As String, keySize As Integer, rgbIV As Byte()) As Byte()

Parâmetros

algname
String

O nome do algoritmo para o qual a chave será derivada.

alghashname
String

O nome do algoritmo de hash a ser usado para derivar a chave.

keySize
Int32

O tamanho da chave, em bits, a ser derivada.

rgbIV
Byte[]

O IV (vetor de inicialização) a ser usado para derivar a chave.

Retornos

Byte[]

A chave derivada.

Atributos

Exceções

O parâmetro keySize está incorreto.

- ou -

O CSP (provedor de serviços de criptografia) não pode ser adquirido.

- ou -

O parâmetro algname não é um nome de algoritmo válido.

- ou -

O parâmetro alghashname não é um nome de algoritmo de hash válido.

Exemplos

Este exemplo de código faz parte de um exemplo maior fornecido para a PasswordDeriveBytes classe .

// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
// This example uses the SHA1 algorithm.
// Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
 cryptoDESProvider->Key = passwordDeriveBytes->CryptDeriveKey
     ("TripleDES", "SHA1", 192, cryptoDESProvider->IV);

// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
// This example uses the SHA1 algorithm.
// Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);

' Create the key and set it to the Key property
' of the TripleDESCryptoServiceProvider object.
' This example uses the SHA1 algorithm.
' Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV)

Comentários

Essa função é um wrapper para a função de API de Criptografia CryptDeriveKey() e destina-se a oferecer interoperabilidade com aplicativos que usam a API de Criptografia.

Se o keySize parâmetro for definido como 0 bits, o tamanho da chave padrão para o algoritmo especificado será usado.

Aplica-se a

Confira também