BCryptHashData-Funktion (bcrypt.h)
Die BCryptHashData-Funktion führt einen unidirektionierten Hash- oder Nachrichtenauthentifizierungscode (Message Authentication Code , MAC) für einen Datenpuffer aus.
Syntax
NTSTATUS BCryptHashData(
[in, out] BCRYPT_HASH_HANDLE hHash,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Parameter
[in, out] hHash
Das Handle des Hash- oder MAC-Objekts, das zum Ausführen des Vorgangs verwendet werden soll. Dieses Handle wird durch Aufrufen der BCryptCreateHash-Funktion abgerufen.
[in] 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.
[in] cbInput
Die Anzahl der Bytes im pbInput-Puffer .
[in] dwFlags
Ein Satz von Flags, die das Verhalten dieser Funktion ändern. Es sind derzeit keine Flags definiert, sodass dieser Parameter 0 (null) sein sollte.
Rückgabewert
Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt.
Mögliche Rückgabecodes sind u. a. die folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Die Funktion war erfolgreich. |
|
Mindestens ein Parameter ist ungültig. |
|
Das Hashhandle im hHash-Parameter ist ungültig. Nachdem die Funktion BCryptFinishHash für ein Hashhandle aufgerufen wurde, kann dieses Handle nicht wiederverwendet werden. |
Hinweise
Um mehr als einen Puffer im Hash oder MAC zu kombinieren, können Sie diese Funktion mehrmals aufrufen und dabei jedes Mal einen anderen Puffer übergeben. Um den Hash- oder MAC-Wert abzurufen, rufen Sie die Funktion BCryptFinishHash auf. Nachdem die BCryptFinishHash-Funktion für ein angegebenes Handle aufgerufen wurde, kann dieses Handle nicht wiederverwendet werden.
Je nachdem, welche Prozessormodi ein Anbieter unterstützt, kann BCryptHashData entweder aus dem Benutzermodus oder dem Kernelmodus aufgerufen werden. Aufrufer im Kernelmodus können entweder am PASSIVE_LEVELIRQL oder DISPATCH_LEVEL IRQL ausgeführt werden. Wenn die aktuelle IRQL-Ebene DISPATCH_LEVEL ist, muss das im hHash-Parameter bereitgestellte Handle von einem Algorithmushandle abgeleitet werden, das von einem Anbieter zurückgegeben wird, der mit dem flag BCRYPT_PROV_DISPATCH geöffnet wurde, und alle zeiger, die an die BCryptHashData-Funktion übergeben werden, müssen auf nicht ausgestellten (oder gesperrten) Speicher verweisen.
Um diese Funktion im Kernelmodus aufzurufen, verwenden Sie Cng.lib, die Teil des Driver Development Kit (DDK) ist. Windows Server 2008 und Windows Vista: Verwenden Sie Ksecdd.lib, um diese Funktion im Kernelmodus aufzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | bcrypt.h |
Bibliothek | Bcrypt.lib |
DLL | Bcrypt.dll |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für