Share via


Função BCryptHash (bcrypt.h)

Executa uma única computação de hash. Essa é uma função de conveniência que encapsula chamadas para BCryptCreateHash, BCryptHashData, BCryptFinishHash e BCryptDestroyHash.

Sintaxe

NTSTATUS BCryptHash(
  BCRYPT_ALG_HANDLE hAlgorithm,
  PUCHAR            pbSecret,
  ULONG             cbSecret,
  PUCHAR            pbInput,
  ULONG             cbInput,
  PUCHAR            pbOutput,
  ULONG             cbOutput
);

Parâmetros

hAlgorithm

O identificador de um provedor de algoritmos criado usando a função BCryptOpenAlgorithmProvider . O algoritmo que foi especificado quando o provedor foi criado deve dar suporte à interface de hash.

pbSecret

Um ponteiro para um buffer que contém a chave a ser usada para o hash ou MAC. O parâmetro cbSecret contém o tamanho desse buffer. Essa chave só se aplica a algoritmos de hash abertos pela função BCryptOpenAlgorithmProvider usando o sinalizador BCRYPT_ALG_HANDLE_HMAC . Caso contrário, defina esse parâmetro como NULL

cbSecret

O tamanho, em bytes, do buffer pbSecret . Se nenhuma chave for usada, defina esse parâmetro como zero.

pbInput

Um ponteiro para um buffer que contém os dados a serem processados. O parâmetro cbInput contém o número de bytes nesse buffer. Essa função não modifica o conteúdo desse buffer.

cbInput

O número de bytes no buffer pbInput .

pbOutput

Um ponteiro para um buffer que recebe o valor de hash ou MAC. O parâmetro cbOutput contém o tamanho desse buffer.

cbOutput

O tamanho, em bytes, do buffer pbOutput . Esse tamanho deve corresponder exatamente ao tamanho do valor de hash ou MAC.

O tamanho pode ser obtido chamando a função BCryptGetProperty para obter a propriedade BCRYPT_HASH_LENGTH . Isso fornecerá o tamanho do valor de hash ou MAC para o algoritmo especificado.

Retornar valor

Um código status indicando êxito ou falha.

Requisitos

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