BCryptDeriveKeyPBKDF2, fonction (bcrypt.h)
La fonction BCryptDeriveKeyPBKDF2 dérive une clé d’une valeur de hachage à l’aide de l’algorithme de dérivation de clé PBKDF2 tel que défini par RFC 2898.
Syntaxe
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
);
Paramètres
[in] hPrf
Handle d’un fournisseur d’algorithme qui fournit la fonction pseudo-aléatoire. Il doit s’agir d’un fournisseur d’algorithme qui effectue un calcul de code d’authentification de message . Lorsque vous utilisez le fournisseur d’algorithme Microsoft par défaut, tout algorithme de hachage ouvert à l’aide de l’indicateur BCRYPT_ALG_HANDLE_HMAC_FLAG peut être utilisé.
[in, optional] pbPassword
Pointeur vers une mémoire tampon qui contient le paramètre de mot de passe pour l’algorithme de dérivation de clé PBKDF2.
[in] cbPassword
Longueur, en octets, des données dans la mémoire tampon pointées par le paramètre pbPassword .
[in, optional] pbSalt
Pointeur vers une mémoire tampon qui contient l’argument salt pour l’algorithme de dérivation de clé PBKDF2.
[in] cbSalt
Longueur, en octets, de l’argument salt pointé vers le paramètre pbSalt .
[in] cIterations
Nombre d’itérations pour l’algorithme de dérivation de clé PBKDF2.
[out] pbDerivedKey
Pointeur vers une mémoire tampon qui reçoit la clé dérivée.
[in] cbDerivedKey
Longueur, en octets, de la clé dérivée retournée dans la mémoire tampon vers laquelle pointe le paramètre pbDerivedKey .
[in] dwFlags
Ce paramètre est réservé et doit être défini sur zéro.
Valeur retournée
Retourne un code status qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, sans s’y limiter, les éléments suivants.
Code de retour | Description |
---|---|
|
La fonction a réussi. |
|
Le handle dans le paramètre hPrf n’est pas valide. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Un échec d’allocation de mémoire s’est produit. |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | bcrypt.h |
Bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |