BCryptDeriveKeyPBKDF2-Funktion (bcrypt.h)
Die BCryptDeriveKeyPBKDF2-Funktion leitet einen Schlüssel von einem Hashwert ab, indem der PBKDF2-Schlüsselableitungsalgorithmus verwendet wird, wie in RFC 2898 definiert.
Syntax
NTSTATUS BCryptDeriveKeyPBKDF2(
[in] BCRYPT_ALG_HANDLE hPrf,
[in, optional] PUCHAR pbPassword,
[in] ULONG cbPassword,
[in, optional] PUCHAR pbSalt,
[in] ULONG cbSalt,
[in] ULONGLONG cIterations,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
Parameter
[in] hPrf
Das Handle eines Algorithmusanbieters, der die Pseudo-Zufallsfunktion bereitstellt. Dies sollte ein Algorithmusanbieter sein, der eine Codeberechnung für die Nachrichtenauthentifizierung ausführt. Wenn Sie den Standardmäßigen Microsoft-Algorithmusanbieter verwenden, kann jeder Hashalgorithmus verwendet werden, der mit dem flag BCRYPT_ALG_HANDLE_HMAC_FLAG geöffnet wird.
[in, optional] pbPassword
Ein Zeiger auf einen Puffer, der den Kennwortparameter für den PBKDF2-Schlüsselableitungsalgorithmus enthält.
[in] cbPassword
Die Länge der Daten im Puffer, auf die der pbPassword-Parameter verweist, in Byte.
[in, optional] pbSalt
Ein Zeiger auf einen Puffer, der das Salt-Argument für den PBKDF2-Schlüsselableitungsalgorithmus enthält.
[in] cbSalt
Die Länge des salt-Arguments in Bytes, auf das der pbSalt-Parameter verweist.
[in] cIterations
Die Iterationsanzahl für den PBKDF2-Schlüsselableitungsalgorithmus.
[out] pbDerivedKey
Ein Zeiger auf einen Puffer, der den abgeleiteten Schlüssel empfängt.
[in] cbDerivedKey
Die Länge des abgeleiteten Schlüssels in Bytes, der im Puffer zurückgegeben wird, auf den der pbDerivedKey-Parameter verweist.
[in] dwFlags
Dieser Parameter ist reserviert und muss auf null festgelegt werden.
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. |
|
Das Handle im hPrf-Parameter ist ungültig. |
|
Mindestens ein Parameter ist ungültig. |
|
Ein Speicherbelegungsfehler ist aufgetreten. |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 7 [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 R2 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | bcrypt.h |
Bibliothek | Bcrypt.lib |
DLL | Bcrypt.dll |