Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我采用了Microsoft 网站上的SHA1 HMAC 示例,并根据此堆栈溢出帖子和 Internet 上的其他一些建议对其进行了修改,但是我无法生成正确的值。
基本上我只是用 MD5 CALG_SHA1 -> CALG_MD5 替换了 SHA1。
有没有人有一个工作的例子?
CryptDeriveKey() 使用什么算法作为密码(RC2 或 RC4)是否重要?
谢谢!
编辑:在这里 找到工作代码
您的值与示例不同,因为您使用不同的键:可以使用 Linuxopenssl dgst -md5 -hmac key < input命令获取示例值。如果它的长度小于 MD5 哈希块长度(64 字节) ,则此命令按原样使用密钥,否则它使用 MD5(密钥)作为密钥,而不是像您的实现中那样使用 CryptDeriveKey(RC4,MD5(密钥))派生的密钥。
openssl dgst -md5 -hmac key < input