BCryptHashData, fonction (bcrypt.h)
La fonction BCryptHashData effectue un hachage unidirectionnel ou code d’authentification des messages (MAC) sur une mémoire tampon de données.
Syntaxe
NTSTATUS BCryptHashData(
[in, out] BCRYPT_HASH_HANDLE hHash,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Paramètres
[in, out] hHash
Handle de l’objet hash ou MAC à utiliser pour effectuer l’opération. Ce handle est obtenu en appelant la fonction BCryptCreateHash.
[in] pbInput
Pointeur vers une mémoire tampon qui contient les données à traiter. Le paramètre cbInput contient le nombre d’octets dans cette mémoire tampon. Cette fonction ne modifie pas le contenu de cette mémoire tampon.
[in] cbInput
Nombre d’octets dans la mémoire tampon pbInput.
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction. Aucun indicateur n’est actuellement défini. Ce paramètre doit donc être égal à zéro.
Valeur de retour
Retourne un code d’état qui indique la réussite ou l’échec de la fonction.
Les codes de retour possibles incluent, mais ne sont pas limités à, les éléments suivants.
Retourner le code | Description |
---|---|
|
La fonction a réussi. |
|
Un ou plusieurs paramètres ne sont pas valides. |
|
Le handle de hachage dans le paramètre hHash n’est pas valide. Une fois la fonction BCryptFinishHash a été appelée pour un handle de hachage, ce handle ne peut pas être réutilisé. |
Remarques
Pour combiner plusieurs mémoires tampons dans le hachage ou mac, vous pouvez appeler cette fonction plusieurs fois, en passant une mémoire tampon différente à chaque fois. Pour obtenir la valeur de hachage ou MAC, appelez la fonction BCryptFinishHash. Une fois la fonction BCryptFinishHash a été appelée pour un handle spécifié, ce handle ne peut pas être réutilisé.
Selon les modes de processeur pris en charge par un fournisseur, BCryptHashData peut être appelé en mode utilisateur ou en mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVEL IRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est
Pour appeler cette fonction en mode noyau, utilisez Cng.lib, qui fait partie du Kit de développement de pilotes (DDK). Windows Server 2008 et Windows Vista : Pour appeler cette fonction en mode noyau, utilisez Ksecdd.lib.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista [applications de bureau | Applications UWP] |
serveur minimum pris en charge | Windows Server 2008 [applications de bureau | Applications UWP] |
plateforme cible | Windows |
d’en-tête | bcrypt.h |
bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |