我希望byte[]使用使用SHA1Algorithm的哈希给定数组SHA1Managed.
该byte[]散列将来自单元测试.
预期的散列是0d71ee4472658cd5874c5578410a9d8611fc9aef(区分大小写).
我怎样才能做到这一点?
public string Hash(byte [] temp)
{
using (SHA1Managed sha1 = new SHA1Managed())
{
}
}
Run Code Online (Sandbox Code Playgroud) 我们有一个python Web服务.它需要一个哈希作为参数.python中的哈希以这种方式生成.
hashed_data = hmac.new("ant", "bat", hashlib.sha1)
print hashed_data.hexdigest()
Run Code Online (Sandbox Code Playgroud)
现在,这就是我从C#生成哈希的方法.
ASCIIEncoding encoder = new ASCIIEncoding();
Byte[] code = encoder.GetBytes("ant");
HMACSHA1 hmSha1 = new HMACSHA1(code);
Byte[] hashMe = encoder.GetBytes("bat");
Byte[] hmBytes = hmSha1.ComputeHash(hashMe);
Console.WriteLine(Convert.ToBase64String(hmBytes));
Run Code Online (Sandbox Code Playgroud)
但是,我出来的结果不同了.
我应该改变散列的顺序吗?
谢谢,
乔恩