BCryptFinishHash, fonction (bcrypt.h)
La fonction BCryptFinishHash récupère la valeur de hachage ou de code d’authentification de message (MAC) pour les données accumulées à partir des appels précédents à BCryptHashData.
Syntaxe
NTSTATUS BCryptFinishHash(
[in, out] BCRYPT_HASH_HANDLE hHash,
[out] PUCHAR pbOutput,
[in] ULONG cbOutput,
[in] ULONG dwFlags
);
Paramètres
[in, out] hHash
Handle de l’objet de hachage ou MAC à utiliser pour calculer le hachage ou mac. Ce handle est obtenu en appelant la fonction BCryptCreateHash . Une fois cette fonction appelée, le handle de hachage passé à cette fonction ne peut plus être utilisé à nouveau, sauf dans un appel à BCryptDestroyHash.
[out] pbOutput
Pointeur vers une mémoire tampon qui reçoit la valeur de hachage ou MAC. Le paramètre cbOutput contient la taille de cette mémoire tampon.
[in] cbOutput
Taille, en octets, de la mémoire tampon pbOutput . Cette taille doit correspondre exactement à la taille de la valeur de hachage ou MAC.
La taille peut être obtenue en appelant la fonction BCryptGetProperty pour obtenir la propriété BCRYPT_HASH_LENGTH . Cela fournit la taille de la valeur de hachage ou MAC pour l’algorithme spécifié.
[in] dwFlags
Ensemble d’indicateurs qui modifient le comportement de cette fonction. Aucun indicateur n’étant actuellement défini, ce paramètre doit être égal à 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 de hachage dans le paramètre hHash n’est pas valide. Une fois que la fonction BCryptFinishHash a été appelée pour un handle de hachage, ce handle ne peut pas être réutilisé. |
|
Un ou plusieurs paramètres ne sont pas valides. Cela inclut le cas où cbOutput n’a pas la même taille que le hachage. |
Remarques
Selon les modes processeur pris en charge par un fournisseur, BCryptFinishHash peut être appelé à partir du mode utilisateur ou du mode noyau. Les appelants en mode noyau peuvent s’exécuter à PASSIVE_LEVELIRQL ou DISPATCH_LEVEL IRQL. Si le niveau IRQL actuel est DISPATCH_LEVEL, le handle fourni dans le paramètre hHash doit être dérivé d’un handle d’algorithme retourné par un fournisseur qui a été ouvert à l’aide de l’indicateur BCRYPT_PROV_DISPATCH , et tous les pointeurs passés à la fonction BCryptFinishHash doivent faire référence à la mémoire non paginée (ou verrouillée).
Pour appeler cette fonction en mode noyau, utilisez Cng.lib, qui fait partie du Kit de développement pilote (DDK). Windows Server 2008 et Windows Vista : Pour appeler cette fonction en mode noyau, utilisez Ksecdd.lib.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | bcrypt.h |
Bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour