2

我采用了Microsoft 网站上的SHA1 HMAC 示例,并根据此堆栈溢出帖子和 Internet 上的其他一些建议对其进行了修改,但是我无法生成正确的值。

基本上我只是用 MD5 CALG_SHA1 -> CALG_MD5 替换了 SHA1。

有没有人有一个工作的例子?

CryptDeriveKey() 使用什么算法作为密码(RC2 或 RC4)是否重要?

谢谢!

编辑:在这里 找到工作代码

4

1 回答 1

1

您的值与示例不同,因为您使用不同的键:可以使用 Linuxopenssl dgst -md5 -hmac key < input命令获取示例值。如果它的长度小于 MD5 哈希块长度(64 字节) ,则此命令按原样使用密钥,否则它使用 MD5(密钥)作为密钥,而不是像您的实现中那样使用 CryptDeriveKey(RC4,MD5(密钥))派生的密钥。

于 2013-05-07T12:12:00.937 回答