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 キー派生アルゴリズムの salt 引数を含むバッファーへのポインター。
[in] cbSalt
pbSalt パラメーターが指す salt 引数の長さ (バイト単位)。
[in] cIterations
PBKDF2 キー派生アルゴリズムの反復回数。
[out] pbDerivedKey
派生キーを受け取るバッファーへのポインター。
[in] cbDerivedKey
pbDerivedKey パラメーターが指すバッファーで返される派生キーの長さ (バイト単位)。
[in] dwFlags
このパラメーターは予約済みであり、0 に設定する必要があります。
戻り値
関数の成功または失敗を示す状態コードを返します。
可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
関数は成功しました。 |
|
hPrf パラメーターのハンドルが無効です。 |
|
1 つ以上のパラメーターが無効です。 |
|
メモリ割り当てエラーが発生しました。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | bcrypt.h |
Library | Bcrypt.lib |
[DLL] | Bcrypt.dll |