BCryptHash, fonction (bcrypt.h)
Effectue un calcul de hachage unique. Il s’agit d’une fonction pratique qui encapsule les appels à BCryptCreateHash, BCryptHashData, BCryptFinishHash et BCryptDestroyHash.
Syntaxe
NTSTATUS BCryptHash(
BCRYPT_ALG_HANDLE hAlgorithm,
PUCHAR pbSecret,
ULONG cbSecret,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
ULONG cbOutput
);
Paramètres
hAlgorithm
Handle d’un fournisseur d’algorithme créé à l’aide de la fonction BCryptOpenAlgorithmProvider . L’algorithme qui a été spécifié lors de la création du fournisseur doit prendre en charge l’interface de hachage.
pbSecret
Pointeur vers une mémoire tampon qui contient la clé à utiliser pour le hachage ou le MAC. Le paramètre cbSecret contient la taille de cette mémoire tampon. Cette clé s’applique uniquement aux algorithmes de hachage ouverts par la fonction BCryptOpenAlgorithmProvider à l’aide de l’indicateur BCRYPT_ALG_HANDLE_HMAC . Sinon, définissez ce paramètre sur NULL.
cbSecret
Taille, en octets, de la mémoire tampon pbSecret . Si aucune clé n’est utilisée, définissez ce paramètre sur zéro.
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.
cbInput
Nombre d’octets dans la mémoire tampon pbInput .
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.
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é.
Valeur retournée
Code status indiquant la réussite ou l’échec.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 [applications de bureau | Applications UWP] |
Serveur minimal pris en charge | Windows Server 2016 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | bcrypt.h |
Bibliothèque | Bcrypt.lib |
DLL | Bcrypt.dll |