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 |