PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.