Partager via


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