Función BCryptHashData (bcrypt.h)
La función BCryptHashData realiza un hash unidireccional o código de autenticación de mensajes (MAC) en un búfer de datos.
Sintaxis
NTSTATUS BCryptHashData(
[in, out] BCRYPT_HASH_HANDLE hHash,
[in] PUCHAR pbInput,
[in] ULONG cbInput,
[in] ULONG dwFlags
);
Parámetros
[in, out] hHash
Identificador del objeto hash o MAC que se va a usar para realizar la operación. Este identificador se obtiene llamando a la función BCryptCreateHash.
[in] pbInput
Puntero a un búfer que contiene los datos que se van a procesar. El parámetro cbInput contiene el número de bytes de este búfer. Esta función no modifica el contenido de este búfer.
[in] cbInput
Número de bytes del búfer de pbInput.
[in] dwFlags
Conjunto de marcas que modifican el comportamiento de esta función. Actualmente no se definen marcas, por lo que este parámetro debe ser cero.
Valor devuelto
Devuelve un código de estado que indica el éxito o error de la función.
Entre los códigos de retorno posibles se incluyen, entre otros, los siguientes.
Observaciones
Para combinar más de un búfer en el hash o MAC, puede llamar a esta función varias veces, pasando un búfer diferente cada vez. Para obtener el valor hash o MAC, llame a la función BCryptFinishHash. Después de llamar a la función BCryptFinishHash para un identificador especificado, ese identificador no se puede reutilizar.
Según los modos de procesador que admita un proveedor, se puede llamar a BCryptHashData desde el modo de usuario o el modo kernel. Los autores de llamadas en modo kernel se pueden ejecutar en PASSIVE_LEVELIRQL o DISPATCH_LEVEL IRQL. Si el nivel IRQL actual es DISPATCH_LEVEL, el identificador proporcionado en el parámetro hHash debe derivarse de un identificador de algoritmo devuelto por un proveedor que se abrió mediante la marca BCRYPT_PROV_DISPATCH y los punteros pasados a la función BCryptHashData deben hacer referencia a la memoria no paginada (o bloqueada).
Para llamar a esta función en modo kernel, use Cng.lib, que forma parte del Kit de desarrollo de controladores (DDK). Windows Server 2008 y Windows Vista: Para llamar a esta función en modo kernel, use Ksecdd.lib.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de | Windows |
encabezado | bcrypt.h |
biblioteca de | Bcrypt.lib |
DLL de | Bcrypt.dll |