BCryptHashData-Funktion (bcrypt.h)
Die BCryptHashData--Funktion führt einen Hash oder Nachrichtenauthentifizierungscode (MAC) in einem 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
Eine Reihe von Flags, die das Verhalten dieser Funktion ändern. Derzeit sind keine Flags definiert, daher sollte dieser Parameter null sein.
Rückgabewert
Gibt einen Statuscode zurück, der den Erfolg oder Fehler der Funktion angibt.
Mögliche Rückgabecodes umfassen, aber nicht beschränkt auf Folgendes.
Rückgabecode | Beschreibung |
---|---|
|
Die Funktion war erfolgreich. |
|
Mindestens ein Parameter ist ungültig. |
|
Das Hashhandle im hHash Parameter ist ungültig. Nachdem die BCryptFinishHash--Funktion für ein Hashhandle aufgerufen wurde, kann dieses Handle nicht wiederverwendet werden. |
Bemerkungen
Wenn Sie mehrere Puffer mit dem Hash oder MAC kombinieren möchten, können Sie diese Funktion mehrmals aufrufen und jeweils einen anderen Puffer übergeben. Rufen Sie zum Abrufen des Hash- oder MAC-Werts die BCryptFinishHash-Funktion 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 über den Benutzermodus oder den Kernelmodus aufgerufen werden. Kernelmodusaufrufer können entweder PASSIVE_LEVELIRQL- oder DISPATCH_LEVEL IRQL ausgeführt werden. Wenn die aktuelle IRQL-Ebene DISPATCH_LEVEList, muss das im hHash Parameter bereitgestellte Handle von einem Algorithmushandle abgeleitet werden, das von einem Anbieter zurückgegeben wurde, der mithilfe des BCRYPT_PROV_DISPATCH Flags geöffnet wurde, und alle Zeiger, die an die BCryptHashData--Funktion übergeben wurden, müssen auf nicht seitenseitigen (oder gesperrten) Speicher verweisen.
Um diese Funktion im Kernelmodus aufzurufen, verwenden Sie Cng.lib, das 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 |
---|---|
mindestens unterstützte Client- | Windows Vista [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | bcrypt.h |
Library | Bcrypt.lib |
DLL- | Bcrypt.dll |