Функция CryptHashSessionKey (wincrypt.h)

Важно Этот API является устаревшим. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы шифрования следующего поколения. Корпорация Майкрософт может удалить этот API в будущих выпусках.
 
Функция CryptHashSessionKey вычисляет криптографический хэш объекта ключа сеанса . Эту функцию можно вызывать несколько раз с помощью одного хэш-дескриптора для вычисления хэша нескольких ключей. Вызовы CryptHashSessionKey можно перемежать с вызовами CryptHashData.

Перед вызовом этой функции необходимо вызвать CryptCreateHash для создания дескриптора хэш-объекта.

Синтаксис

BOOL CryptHashSessionKey(
  [in] HCRYPTHASH hHash,
  [in] HCRYPTKEY  hKey,
  [in] DWORD      dwFlags
);

Параметры

[in] hHash

Дескриптор хэш-объекта.

[in] hKey

Дескриптор хэшированного объекта ключа.

[in] dwFlags

Определено следующее значение флага.

Значение Значение
CRYPT_LITTLE_ENDIAN
0x00000001
Если этот флаг установлен, байты ключа хэшируются в форме с прямым байтом . Обратите внимание, что по умолчанию (если dwFlags равно нулю) байты ключа хэшируются в виде big-endian .

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

Если функция выполнена успешно, возвращается значение TRUE.

Если функция завершается сбоем, возвращается значение FALSE. Для получения дополнительных сведений об ошибке вызовите Метод GetLastError.

Коды ошибок, предваряемые "NTE", создаются конкретным поставщиком служб CSP, который вы используете. Ниже приведены некоторые возможные коды ошибок.

Код возврата Описание
ERROR_INVALID_HANDLE
Один из параметров указывает недопустимый дескриптор.
ERROR_INVALID_PARAMETER
Один из параметров содержит недопустимое значение. Чаще всего это недопустимый указатель.
NTE_BAD_ALGID
Дескриптор hHash указывает алгоритм, который не поддерживается этим поставщиком служб CSP.
NTE_BAD_FLAGS
Параметр dwFlags не равен нулю.
NTE_BAD_HASH
Хэш-объект, заданный параметром hHash , недопустим.
NTE_BAD_HASH_STATE
Предпринята попытка добавить данные в хэш-объект, который уже помечен как завершенный.
NTE_BAD_KEY
Используется хэш-алгоритм с ключами, но сеансовый ключ больше недействителен. Эта ошибка возникает, если сеансовый ключ уничтожается до завершения операции хэширования.
NTE_BAD_UID
Не удается найти контекст CSP, указанный при создании хэш-объекта.
NTE_FAIL
Сбой функции каким-то непредвиденным образом.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header wincrypt.h
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

CryptCreateHash

CryptGenKey

CryptHashData

Функции хэша и цифровой подписи