Función BCryptDeriveKeyPBKDF2 (bcrypt.h)
La función BCryptDeriveKeyPBKDF2 deriva una clave de un valor hash mediante el algoritmo de derivación de claves PBKDF2 tal y como se define en RFC 2898.
Sintaxis
NTSTATUS BCryptDeriveKeyPBKDF2(
[in] BCRYPT_ALG_HANDLE hPrf,
[in, optional] PUCHAR pbPassword,
[in] ULONG cbPassword,
[in, optional] PUCHAR pbSalt,
[in] ULONG cbSalt,
[in] ULONGLONG cIterations,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
Parámetros
[in] hPrf
Identificador de un proveedor de algoritmos que proporciona la función pseudoaleatoriedad. Debe ser un proveedor de algoritmos que realice un cálculo de código de autenticación de mensajes. Cuando se usa el proveedor de algoritmos predeterminado de Microsoft, se puede usar cualquier algoritmo hash abierto mediante la marca BCRYPT_ALG_HANDLE_HMAC_FLAG .
[in, optional] pbPassword
Puntero a un búfer que contiene el parámetro de contraseña para el algoritmo de derivación de claves PBKDF2.
[in] cbPassword
Longitud, en bytes, de los datos del búfer al que apunta el parámetro pbPassword .
[in, optional] pbSalt
Puntero a un búfer que contiene el argumento salt para el algoritmo de derivación de claves PBKDF2.
[in] cbSalt
Longitud, en bytes, del argumento salt al que apunta el parámetro pbSalt .
[in] cIterations
Recuento de iteraciones para el algoritmo de derivación de claves PBKDF2.
[out] pbDerivedKey
Puntero a un búfer que recibe la clave derivada.
[in] cbDerivedKey
Longitud, en bytes, de la clave derivada devuelta en el búfer a la que apunta el parámetro pbDerivedKey .
[in] dwFlags
Este parámetro está reservado y debe establecerse en 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.
Código devuelto | Descripción |
---|---|
|
La función se realizó correctamente. |
|
El identificador del parámetro hPrf no es válido. |
|
Uno o más parámetros no son válidos. |
|
Error de asignación de memoria. |
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | bcrypt.h |
Library | Bcrypt.lib |
Archivo DLL | Bcrypt.dll |