Функция BCryptHash (bcrypt.h)

Выполняет вычисление одного хэша. Это удобная функция, которая выполняет оболочку для вызовов BCryptCreateHash, BCryptHashData, BCryptFinishHash и BCryptDefinishHash.

Синтаксис

NTSTATUS BCryptHash(
  BCRYPT_ALG_HANDLE hAlgorithm,
  PUCHAR            pbSecret,
  ULONG             cbSecret,
  PUCHAR            pbInput,
  ULONG             cbInput,
  PUCHAR            pbOutput,
  ULONG             cbOutput
);

Параметры

hAlgorithm

Дескриптор поставщика алгоритма, созданного с помощью функции BCryptOpenAlgorithmProvider . Алгоритм, указанный при создании поставщика, должен поддерживать хэш-интерфейс.

pbSecret

Указатель на буфер, содержащий ключ, используемый для хэша или MAC-адреса. Параметр cbSecret содержит размер этого буфера. Этот ключ применяется только к хэш-алгоритмам, открытым функцией BCryptOpenAlgorithmProvider с помощью флага BCRYPT_ALG_HANDLE_HMAC . В противном случае задайте для этого параметра значение NULL.

cbSecret

Размер буфера pbSecret в байтах. Если ключ не используется, задайте для этого параметра значение 0.

pbInput

Указатель на буфер, содержащий данные для обработки. Параметр cbInput содержит количество байтов в этом буфере. Эта функция не изменяет содержимое этого буфера.

cbInput

Количество байтов в буфере pbInput .

pbOutput

Указатель на буфер, который получает значение хэша или MAC. Параметр cbOutput содержит размер этого буфера.

cbOutput

Размер буфера pbOutput в байтах. Этот размер должен точно соответствовать размеру хэш-значения или значения MAC.

Размер можно получить, вызвав функцию BCryptGetProperty , чтобы получить свойство BCRYPT_HASH_LENGTH . Это обеспечит размер значения хэша или MAC для указанного алгоритма.

Возвращаемое значение

Код состояния, указывающий на успешное или неудачное завершение.

Требования

Требование Значение
Минимальная версия клиента Windows 10 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2016 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header bcrypt.h
Библиотека Bcrypt.lib
DLL Bcrypt.dll