Win32 API 日本語リファレンス
ホーム › Security.Cryptography › BCryptDeriveKeyPBKDF2Fn

BCryptDeriveKeyPBKDF2Fn

コールバック

シグネチャ

NTSTATUS BCryptDeriveKeyPBKDF2Fn(
    BCRYPT_ALG_HANDLE hPrf,
    BYTE* pbPassword,
    DWORD cbPassword,
    BYTE* pbSalt,
    DWORD cbSalt,
    ULONGLONG cIterations,
    BYTE* pbDerivedKey,
    DWORD cbDerivedKey,
    DWORD dwFlags
);

パラメーター

フィールド型説明
hPrfBCRYPT_ALG_HANDLE

疑似乱数関数を提供するアルゴリズムプロバイダーのハンドルです。これは メッセージ認証コードの計算を行うアルゴリズムプロバイダーである必要があります。既定の Microsoft アルゴリズムプロバイダーを使用する場合は、BCRYPT_ALG_HANDLE_HMAC_FLAG フラグを使用して開いた任意のハッシュアルゴリズムを使用できます。

メモ このパラメーターに指定できるのは、BCRYPT_IS_KEYED_HASH プロパティを実装しているアルゴリズムのみです。
pbPasswordBYTE*

PBKDF2 キー派生アルゴリズムの password パラメーターを格納するバッファーへのポインターです。

メモ キー派生で使用する秘密情報は、すべてこのバッファーで渡してください。

cbPasswordDWORDpbPassword パラメーターが指すバッファー内のデータの長さ (バイト単位) です。
pbSaltBYTE*

PBKDF2 キー派生アルゴリズムの salt 引数を格納するバッファーへのポインターです。

メモ キー派生で使用する、秘密ではない情報は、すべてこのバッファーで渡してください。
cbSaltDWORDpbSalt パラメーターが指す salt 引数の長さ (バイト単位) です。
cIterationsULONGLONGPBKDF2 キー派生アルゴリズムの反復回数です。
pbDerivedKeyBYTE*派生したキーを受け取るバッファーへのポインターです。
cbDerivedKeyDWORDpbDerivedKey パラメーターが指すバッファーに返される派生キーの長さ (バイト単位) です。
dwFlagsDWORDこのパラメーターは予約されており、0 に設定する必要があります。

公式ドキュメント

BCryptDeriveKeyPBKDF2 関数は、RFC 2898 で定義されている PBKDF2 キー派生アルゴリズムを使用して、ハッシュ値からキーを派生させます。

戻り値

関数の成功または失敗を示すステータスコードを返します。

返される可能性のあるコードには、次のようなものがあります (これらに限定されません)。

戻り値 説明
STATUS_SUCCESS
関数は成功しました。
STATUS_INVALID_HANDLE
hPrf パラメーターのハンドルが無効です。
STATUS_INVALID_PARAMETER
1 つ以上のパラメーターが無効です。
STATUS_NO_MEMORY
メモリの割り当てに失敗しました。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)