Share via


bCryptHash 函式 (bcrypt.h)

執行單一哈希計算。 這是一個便利函式,可包裝 對 BCryptCreateHashBCryptHashDataBCryptFinishHashBCryptDestroyHash 的呼叫。

語法

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

參數

hAlgorithm

使用 BCryptOpenAlgorithmProvider 函 式建立的演算法提供者句柄。 建立提供者時指定的演演算法必須支援哈希介面。

pbSecret

緩衝區的指標,其中包含要用於哈希或MAC的索引鍵。 cbSecret 參數包含此緩衝區的大小。 此密鑰僅適用於 BCryptOpenAlgorithmProvider 函式使用 BCRYPT_ALG_HANDLE_HMAC 旗標所開啟的哈希演算法。 否則,請將此參數設定為 NULL

cbSecret

pbSecret 緩衝區的大小,以位元組為單位。 如果未使用任何索引鍵,請將此參數設定為零。

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
程式庫 Bcrypt.lib
Dll Bcrypt.dll