Функция BCryptDeriveKeyPBKDF2 (bcrypt.h)
Функция BCryptDeriveKeyPBKDF2 наследует ключ из хэш-значения с помощью алгоритма наследования ключа PBKDF2, как определено в RFC 2898.
Синтаксис
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
);
Параметры
[in] hPrf
Дескриптор поставщика алгоритма, предоставляющего псевдослучайную функцию. Это должен быть поставщик алгоритма, который выполняет вычисление кода проверки подлинности сообщений . При использовании поставщика алгоритмов Майкрософт по умолчанию можно использовать любой алгоритм хэширования , открытый с помощью флага BCRYPT_ALG_HANDLE_HMAC_FLAG .
[in, optional] pbPassword
Указатель на буфер, содержащий параметр пароля для алгоритма формирования ключа PBKDF2.
[in] cbPassword
Длина данных в байтах в буфере, на который указывает параметр pbPassword .
[in, optional] pbSalt
Указатель на буфер, содержащий аргумент соли для алгоритма производного ключа PBKDF2.
[in] cbSalt
Длина (в байтах) аргумента соли, на который указывает параметр pbSalt .
[in] cIterations
Число итераций для алгоритма наследования ключа PBKDF2.
[out] pbDerivedKey
Указатель на буфер, получающий производный ключ.
[in] cbDerivedKey
Длина в байтах производного ключа, возвращаемого в буфере, на который указывает параметр pbDerivedKey .
[in] dwFlags
Этот параметр зарезервирован и должен иметь нулевое значение.
Возвращаемое значение
Возвращает код состояния, указывающий на успешное или неудачное выполнение функции.
Возможные коды возврата включают, помимо прочего, следующие.
Код возврата | Описание |
---|---|
|
Функция выполнена успешно. |
|
Дескриптор в параметре hPrf недопустим. |
|
Один или несколько параметров являются недопустимыми. |
|
Произошел сбой выделения памяти. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 R2 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | bcrypt.h |
Библиотека | Bcrypt.lib |
DLL | Bcrypt.dll |