BCryptHash-Funktion (bcrypt.h)

Führt eine einzelne Hashberechnung aus. Dies ist eine Komfortfunktion, die Aufrufe von BCryptCreateHash, BCryptHashData, BCryptFinishHash und BCryptDestroyHash umschließt.

Syntax

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

Parameter

hAlgorithm

Das Handle eines Algorithmusanbieters, der mithilfe der Funktion BCryptOpenAlgorithmProvider erstellt wurde. Der Algorithmus, der beim Erstellen des Anbieters angegeben wurde, muss die Hashschnittstelle unterstützen.

pbSecret

Ein Zeiger auf einen Puffer, der den Schlüssel enthält, der für den Hash oder MAC verwendet werden soll. Der cbSecret-Parameter enthält die Größe dieses Puffers. Dieser Schlüssel gilt nur für Hashalgorithmen, die von der BCryptOpenAlgorithmProvider-Funktion mithilfe des BCRYPT_ALG_HANDLE_HMAC-Flags geöffnet werden. Legen Sie andernfalls diesen Parameter auf NULL fest.

cbSecret

Die Größe des pbSecret-Puffers in Bytes. Wenn kein Schlüssel verwendet wird, legen Sie diesen Parameter auf Null fest.

pbInput

Ein Zeiger auf einen Puffer, der die zu verarbeitenden Daten enthält. Der cbInput-Parameter enthält die Anzahl der Bytes in diesem Puffer. Diese Funktion ändert den Inhalt dieses Puffers nicht.

cbInput

Die Anzahl der Bytes im pbInput-Puffer .

pbOutput

Ein Zeiger auf einen Puffer, der den Hash- oder MAC-Wert empfängt. Der cbOutput-Parameter enthält die Größe dieses Puffers.

cbOutput

Die Größe des pbOutput-Puffers in Bytes. Diese Größe muss genau mit der Größe des Hash- oder MAC-Werts übereinstimmen.

Die Größe kann durch Aufrufen der BCryptGetProperty-Funktion abgerufen werden, um die BCRYPT_HASH_LENGTH-Eigenschaft abzurufen. Dadurch wird die Größe des Hash- oder MAC-Werts für den angegebenen Algorithmus angegeben.

Rückgabewert

Ein status Code, der auf Erfolg oder Fehler hinweist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2016 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile bcrypt.h
Bibliothek Bcrypt.lib
DLL Bcrypt.dll