Función CryptHashSessionKey (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptHashSessionKey calcula el hash criptográfico de un objeto de clave de sesión . Se puede llamar a esta función varias veces con el mismo identificador hash para calcular el hash de varias claves. Las llamadas a CryptHashSessionKey se pueden intercalar con llamadas a CryptHashData.

Antes de llamar a esta función, se debe llamar a CryptCreateHash para crear el identificador de un objeto hash.

Sintaxis

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

Parámetros

[in] hHash

Identificador del objeto hash.

[in] hKey

Identificador del objeto de clave que se va a aplicar un hash.

[in] dwFlags

Se define el siguiente valor de marca.

Valor Significado
CRYPT_LITTLE_ENDIAN
0x00000001
Cuando se establece esta marca, los bytes de la clave se aplica un hash en formato little-endian . Tenga en cuenta que de forma predeterminada (cuando dwFlags es cero), los bytes de la clave se aplica un hash en formato big-endian .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es TRUE.

Si se produce un error en la función, el valor devuelto es FALSE. Para obtener información de error extendida, llame a GetLastError.

Los códigos de error precedidos por "NTE" se generan mediante el CSP concreto que usa. Siguen algunos códigos de error posibles.

Código devuelto Descripción
ERROR_INVALID_HANDLE
Uno de los parámetros especifica un identificador que no es válido.
ERROR_INVALID_PARAMETER
Uno de los parámetros contiene un valor que no es válido. Suele ser un puntero que no es válido.
NTE_BAD_ALGID
El identificador hHash especifica un algoritmo que este CSP no admite.
NTE_BAD_FLAGS
El parámetro dwFlags es distinto de cero.
NTE_BAD_HASH
El objeto hash especificado por el parámetro hHash no es válido.
NTE_BAD_HASH_STATE
Se intentó agregar datos a un objeto hash que ya está marcado como "finalizado".
NTE_BAD_KEY
Se usa un algoritmo hash con clave, pero la clave de sesión ya no es válida. Este error se genera si la clave de sesión se destruye antes de que se complete la operación de hash.
NTE_BAD_UID
No se encuentra el contexto de CSP que se especificó cuando se creó el objeto hash.
NTE_FAIL
Se produjo un error en la función de alguna manera inesperada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Advapi32.lib
Archivo DLL Advapi32.dll

Consulte también

CryptCreateHash

CryptGenKey

CryptHashData

Funciones hash y firma digital