CryptCreateHash调用 BCryptCreateHash函数来创建散列或消息验证码(MAC) 对象,其中,第二个参数Algid决定了哈希算法,具体参考https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id值。
BOOL CryptCreateHash(
[in] HCRYPTPROV hProv,
[in] ALG_ID Algid,
[in] HCRYPTKEY hKey,
[in] DWORD dwFlags,
[out] HCRYPTHASH *phHash
);
CryptDeriveKey生成密钥,其中第二个参数Algid决定加密算法,参考https://docs.microsoft.com/en-us/windows/win32/seccrypto/alg-id。
BOOL CryptDeriveKey(
[in] HCRYPTPROV hProv,
[in] ALG_ID Algid,
[in] HCRYPTHASH hBaseData,
[in] DWORD dwFlags,
[in, out] HCRYPTKEY *phKey
);