【发布时间】:2014-03-01 11:32:51
【问题描述】:
我正在使用来自 http://msdn.microsoft.com/en-us/library/aa382379(v=vs.85).aspx 的 Microsoft 示例。它编译得很好并且看起来工作,返回结果:
48 f2 57 38 29 29 43 16 fd f4 db 58 31 e1 0c 74 48 8e d4 e2
但是,当我使用下面的 C# 代码运行相同的计算时,我得到了不同的哈希值?
4C-2D-E3-61-BA-89-58-55-8D-E3-D0-49-ED-1F-B5-C1-15-65-6E-65
HMAC hashMaker = new HMACSHA1(new byte[]{0x70,0x61,0x73,0x73,0x77,0x6F,0x72,0x64});
byte[] hash = hashMaker.ComputeHash(new byte[] {0x6D,0x65,0x73,0x73,0x61,0x67,0x65});
string hashStr = BitConverter.ToString(hash);
我担心示例 C 代码在某些方面是正确的。这里发生了什么?
【问题讨论】:
标签: c++ c cryptography cryptoapi