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 |