我已经从微软的网站上采用SHA1 HMAC example并根据此stack-overflow post和互联网上的其他一些建议对其进行了修改,但我无法生成正确的值。
基本上我只是用MD5 CALG_SHA1替换SHA1 - > CALG_MD5。
有没有人有一个有效的例子?
密码(RC2或RC4)用于CryptDeriveKey()的算法是否重要?
谢谢!
修改 找到了工作代码here
答案 0 :(得分:1)
您的值与示例不同,因为您使用不同的键:
可以使用Linux openssl dgst -md5 -hmac key < input
命令获取示例值。如果其长度小于MD5哈希块长度(64字节),则此命令使用密钥 ,否则其使用MD5(密钥)作为密钥而不是使用CryptDeriveKey(RC4,MD5(密钥))导出的密钥,如在你的实施中。