Funzione BCryptHash (bcrypt.h)

Esegue un singolo calcolo hash. Si tratta di una funzione utile che esegue il wrapping delle chiamate a BCryptCreateHash, BCryptHashData, BCryptFinishHash e BCryptDestroyHash.

Sintassi

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

Parametri

hAlgorithm

Handle di un provider di algoritmi creato usando la funzione BCryptOpenAlgorithmProvider . L'algoritmo specificato al momento della creazione del provider deve supportare l'interfaccia hash.

pbSecret

Puntatore a un buffer contenente la chiave da usare per l'hash o MAC. Il parametro cbSecret contiene le dimensioni di questo buffer. Questa chiave si applica solo agli algoritmi hash aperti dalla funzione BCryptOpenAlgorithmProvider usando il flag BCRYPT_ALG_HANDLE_HMAC . In caso contrario, impostare questo parametro su NULL

cbSecret

Dimensione, in byte, del buffer pbSecret . Se non viene usata alcuna chiave, impostare questo parametro su zero.

pbInput

Puntatore a un buffer contenente i dati da elaborare. Il parametro cbInput contiene il numero di byte in questo buffer. Questa funzione non modifica il contenuto di questo buffer.

cbInput

Numero di byte nel buffer pbInput .

pbOutput

Puntatore a un buffer che riceve il valore hash o MAC. Il parametro cbOutput contiene le dimensioni di questo buffer.

cbOutput

Dimensione, in byte, del buffer pbOutput . Questa dimensione deve corrispondere esattamente alla dimensione del valore hash o MAC.

Le dimensioni possono essere ottenute chiamando la funzione BCryptGetProperty per ottenere la proprietà BCRYPT_HASH_LENGTH . In questo modo verranno specificate le dimensioni del valore hash o MAC per l'algoritmo specificato.

Valore restituito

Codice di stato che indica l'esito positivo o negativo.

Requisiti

Requisito Valore
Client minimo supportato Windows 10 [app desktop | App UWP]
Server minimo supportato Windows Server 2016 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione bcrypt.h
Libreria Bcrypt.lib
DLL Bcrypt.dll