Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Функция BCryptHashData выполняет один способ хэша или код проверки подлинности сообщений (MAC) в буфере данных.
Синтаксис
NTSTATUS BCryptHashData(
[in, out] BCRYPT_HASH_HANDLE hHash,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Параметры
[in, out] hHash
Дескриптор хэша или MAC-объекта, используемого для выполнения операции. Этот дескриптор получается путем вызова функции BCryptCreateHash.
[in] pbInput
Указатель на буфер, содержащий данные для обработки. Параметр cbInput содержит количество байтов в этом буфере. Эта функция не изменяет содержимое этого буфера.
[in] cbInput
Количество байтов в буфере pbInput.
[in] dwFlags
Набор флагов, изменяющих поведение этой функции. В настоящее время флаги не определены, поэтому этот параметр должен быть равен нулю.
Возвращаемое значение
Возвращает код состояния, указывающий на успешность или сбой функции.
Возможные коды возврата включают в себя, но не ограничиваются следующими.
| Возвращаемый код | Описание |
|---|---|
|
Функция была успешной. |
|
Один или несколько параметров недопустимы. |
|
Хэш-дескриптор в параметре hHash |
Замечания
Чтобы объединить несколько буферов в хэш или MAC, можно вызывать эту функцию несколько раз, передавая другой буфер каждый раз. Чтобы получить хэш-значение или ЗНАЧЕНИЕ MAC, вызовите функцию BCryptFinishHash. После вызова функции BCryptFinishH ash для указанного дескриптора этот дескриптор нельзя использовать повторно.
В зависимости от того, какие режимы процессора поддерживает поставщик, BCryptHashData можно вызывать из пользовательского режима или режима ядра. Вызывающие серверы режима ядра могут выполняться в PASSIVE_LEVELIRQL или DISPATCH_LEVEL IRQL. Если текущий уровень IRQL DISPATCH_LEVEL, то дескриптор, предоставленный в параметре hHash, должен быть производным от дескриптора алгоритма, возвращаемого поставщиком, который был открыт с помощью флага BCRYPT_PROV_DISPATCH, а все указатели, передаваемые в функцию BCryptHashData, должны ссылаться на неупакованную (или заблокированную) память.
Чтобы вызвать эту функцию в режиме ядра, используйте Cng.lib, которая входит в состав пакета средств разработки драйверов (DDK). Windows Server 2008 и Windows Vista: для вызова этой функции в режиме ядра используйте Ksecdd.lib.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows Vista [классические приложения | Приложения UWP] |
| минимальный поддерживаемый сервер | Windows Server 2008 [классические приложения | Приложения UWP] |
| целевая платформа | Виндоус |
| заголовка | bcrypt.h |
| библиотеки |
Bcrypt.lib |
| DLL | Bcrypt.dll |