Windows 加密 API 使用 HashObject 的 CryptEncrypt

Windows Crypto API CryptEncrypt with the HashObject

我正在使用 Windows API CryptEncrypt with CALG_AES_256 我想用密码加密,据我所知

 1. CryptAcquireContext
 2. CryptCreateHash (CALG_MD5)
 3. CryptHashData
 4. CryptDeriveKey
 5. CryptEncrypt

我需要用 nodejs crypto 解密 & 我用 openssl enc 来测试 nodejs 解密成功但使用 C 代码时消息不同 windows 如何使用散列?

您应该使用密码哈希函数,而不仅仅是普通的哈希函数。密码散列经过加盐处理并具有使攻击者更难使用字典攻击猜测密码的工作因素。

Microsoft 已创建 an implementation of PBKDF2 in the CNG framework. PBKDF2 is also contained in OpenSSL