云涯历险记

热爱可抵万难

云涯历险记

热爱可抵万难

密码学

密码学:CryptCreateHash和CryptDeriveKey

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
);