Функция 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 |