BCryptHash 関数 (bcrypt.h)

1 つのハッシュ計算を実行します。 これは、 BCryptCreateHashBCryptHashDataBCryptFinishHashBCryptDestroyHash の呼び出しをラップする便利な関数です。

構文

NTSTATUS BCryptHash(
  BCRYPT_ALG_HANDLE hAlgorithm,
  PUCHAR            pbSecret,
  ULONG             cbSecret,
  PUCHAR            pbInput,
  ULONG             cbInput,
  PUCHAR            pbOutput,
  ULONG             cbOutput
);

パラメーター

hAlgorithm

BCryptOpenAlgorithmProvider 関数を使用して作成されたアルゴリズム プロバイダーのハンドル。 プロバイダーの作成時に指定されたアルゴリズムは、ハッシュ インターフェイスをサポートする必要があります。

pbSecret

ハッシュまたは MAC に使用するキーを含むバッファーへのポインター。 cbSecret パラメーターには、このバッファーのサイズが含まれています。 このキーは、BCRYPT_ALG_HANDLE_HMAC フラグを使用して BCryptOpenAlgorithmProvider 関数によって開かれたハッシュ アルゴリズムにのみ適用されます。 それ以外の場合は、このパラメーターを NULL に設定します

cbSecret

pbSecret バッファーのサイズ (バイト単位)。 キーが使用されていない場合は、このパラメーターを 0 に設定します。

pbInput

処理するデータを含むバッファーへのポインター。 cbInput パラメーターには、このバッファー内のバイト数が含まれています。 この関数は、このバッファーの内容を変更しません。

cbInput

pbInput バッファー内のバイト数。

pbOutput

ハッシュ値または MAC 値を受け取るバッファーへのポインター。 cbOutput パラメーターには、このバッファーのサイズが含まれています。

cbOutput

pbOutput バッファーのサイズ (バイト単位)。 このサイズは、ハッシュ値または MAC 値のサイズと完全に一致している必要があります。

サイズは、 BCryptGetProperty 関数を呼び出して BCRYPT_HASH_LENGTH プロパティを取得することで取得できます。 これにより、指定したアルゴリズムのハッシュ値または MAC 値のサイズが提供されます。

戻り値

成功または失敗を示す状態コード。

要件

要件
サポートされている最小のクライアント Windows 10 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2016 [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー bcrypt.h
Library Bcrypt.lib
[DLL] Bcrypt.dll