BCryptDeriveKeyPBKDF2 함수(bcrypt.h)
BCryptDeriveKeyPBKDF2 함수는 RFC 2898에 정의된 PBKDF2 키 파생 알고리즘을 사용하여 해시 값에서 키를 파생합니다.
구문
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
의사 임의 함수를 제공하는 알고리즘 공급자의 핸들입니다. 메시지 인증 코드 계산을 수행하는 알고리즘 공급자여야 합니다. 기본 Microsoft 알고리즘 공급자를 사용하는 경우 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
이 매개 변수는 예약되어 있으며 0으로 설정해야 합니다.
반환 값
함수의 성공 또는 실패를 나타내는 상태 코드를 반환합니다.
가능한 반환 코드에는 다음이 포함되지만 이에 국한되지는 않습니다.
반환 코드 | 설명 |
---|---|
|
함수가 성공했습니다. |
|
hPrf 매개 변수의 핸들이 잘못되었습니다. |
|
하나 이상의 매개 변수가 유효하지 않습니다. |
|
메모리 할당 오류가 발생했습니다. |
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 R2 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | bcrypt.h |
라이브러리 | Bcrypt.lib |
DLL | Bcrypt.dll |