Compartilhar via


Função BCryptDeriveKeyPBKDF2 (bcrypt.h)

A função BCryptDeriveKeyPBKDF2 deriva uma chave de um valor de hash usando o algoritmo de derivação de chave PBKDF2, conforme definido pelo RFC 2898.

Sintaxe

NTSTATUS BCryptDeriveKeyPBKDF2(
  [in]           BCRYPT_ALG_HANDLE hPrf,
  [in, optional] PUCHAR            pbPassword,
  [in]           ULONG             cbPassword,
  [in, optional] PUCHAR            pbSalt,
  [in]           ULONG             cbSalt,
  [in]           ULONGLONG         cIterations,
  [out]          PUCHAR            pbDerivedKey,
  [in]           ULONG             cbDerivedKey,
  [in]           ULONG             dwFlags
);

Parâmetros

[in] hPrf

O identificador de um provedor de algoritmos que fornece a função pseudo-aleatória. Esse deve ser um provedor de algoritmos que executa uma computação de Código de Autenticação de Mensagem . Quando você usa o provedor de algoritmo padrão da Microsoft, qualquer algoritmo de hash aberto usando o sinalizador BCRYPT_ALG_HANDLE_HMAC_FLAG pode ser usado.

Nota Somente algoritmos que implementam a propriedade BCRYPT_IS_KEYED_HASH podem ser usados para preencher esse parâmetro.
 

[in, optional] pbPassword

Um ponteiro para um buffer que contém o parâmetro de senha para o algoritmo de derivação de chave PBKDF2.

Nota Todas as informações secretas usadas na derivação de chave devem ser passadas nesse buffer.

 

[in] cbPassword

O comprimento, em bytes, dos dados no buffer apontados pelo parâmetro pbPassword .

[in, optional] pbSalt

Um ponteiro para um buffer que contém o argumento salt para o algoritmo de derivação de chave PBKDF2.

Nota Todas as informações que não são secretas e usadas na derivação de chave devem ser passadas nesse buffer.
 

[in] cbSalt

O comprimento, em bytes, do argumento salt apontado pelo parâmetro pbSalt .

[in] cIterations

A contagem de iteração para o algoritmo de derivação de chave PBKDF2.

[out] pbDerivedKey

Um ponteiro para um buffer que recebe a chave derivada.

[in] cbDerivedKey

O comprimento, em bytes, da chave derivada retornada no buffer apontado pelo parâmetro pbDerivedKey .

[in] dwFlags

Esse parâmetro é reservado e deve ser definido como zero.

Retornar valor

Retorna um código status que indica o êxito ou a falha da função.

Os códigos de retorno possíveis incluem, mas não se limitam a, o seguinte.

Código de retorno Descrição
STATUS_SUCCESS
A função foi bem-sucedida.
STATUS_INVALID_HANDLE
O identificador no parâmetro hPrf não é válido.
STATUS_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
STATUS_NO_MEMORY
Ocorreu uma falha de alocação de memória.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho bcrypt.h
Biblioteca Bcrypt.lib
DLL Bcrypt.dll