Función BCryptHash (bcrypt.h)
Realiza un cálculo hash único. Esta es una función de conveniencia que encapsula las llamadas a BCryptCreateHash, BCryptHashData, BCryptFinishHash y BCryptDestroyHash.
Sintaxis
NTSTATUS BCryptHash(
BCRYPT_ALG_HANDLE hAlgorithm,
PUCHAR pbSecret,
ULONG cbSecret,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
ULONG cbOutput
);
Parámetros
hAlgorithm
Identificador de un proveedor de algoritmos creado mediante la función BCryptOpenAlgorithmProvider . El algoritmo que se especificó cuando se creó el proveedor debe admitir la interfaz hash.
pbSecret
Puntero a un búfer que contiene la clave que se va a usar para el hash o MAC. El parámetro cbSecret contiene el tamaño de este búfer. Esta clave solo se aplica a los algoritmos hash abiertos por la función BCryptOpenAlgorithmProvider mediante la marca BCRYPT_ALG_HANDLE_HMAC . De lo contrario, establezca este parámetro en NULL.
cbSecret
Tamaño, en bytes, del búfer pbSecret . Si no se usa ninguna clave, establezca este parámetro en cero.
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.
cbInput
Número de bytes en el búfer pbInput .
pbOutput
Puntero a un búfer que recibe el valor hash o MAC. El parámetro cbOutput contiene el tamaño de este búfer.
cbOutput
Tamaño, en bytes, del búfer pbOutput . Este tamaño debe coincidir exactamente con el tamaño del valor hash o MAC.
El tamaño se puede obtener llamando a la función BCryptGetProperty para obtener la propiedad BCRYPT_HASH_LENGTH . Esto proporcionará el tamaño del valor hash o MAC para el algoritmo especificado.
Valor devuelto
Código de estado que indica éxito o error.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2016 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | bcrypt.h |
Library | Bcrypt.lib |
Archivo DLL | Bcrypt.dll |