rfc2104 MD5问题
rfc2104 MD5 issue
有人可以给我一个关于如何使用 MD5 对字符串进行 HASH 的 c# 示例,关于此文档:http://www.ietf.org/rfc/rfc2104.txt
我使用了 MD5CryptoServiceProvider 但没有成功。
我正在尝试与外部软件通信,我们必须具有相同的 HASH。
问了他们的开发人员,他们告诉我使用这个 alogirtm :http://www.ietf.org/rfc/rfc2104.txt
所以我的问题是如何使我的 HASH 等于他们的..
非常感谢您的建议..
编辑
根据您的评论,我删除了我之前的回答,因为它被误解了。
我尝试了一些新的东西希望这有帮助
HMAC 密钥(十六进制格式)
string key = "52320e181a481f5e19507a75b3cae4d74d5cfbc328f7f2b738e9fb06b2e05b55b632c1c3d331dcf3baacae8d3000594f839d770f2080910b52b7b8beb3458c08";
string payload = "1116Software program14200503031234341420050303123434";
int NumberChars = key.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
bytes[i / 2] = Convert.ToByte(key.Substring(i, 2), 16);
byte[] keyInBytes = bytes;
byte[] payloadInBytes = Encoding.UTF8.GetBytes(payload);
var md5 = new HMACMD5(key);//This should match with service key
byte[] hash = md5.ComputeHash(payloadInBytes);
var result = BitConverter.ToString(hash).Replace("-", string.Empty);
您应该有一个密钥,并且该密钥必须等于您所引用的服务中使用的密钥 to.then 结果将相同
有人可以给我一个关于如何使用 MD5 对字符串进行 HASH 的 c# 示例,关于此文档:http://www.ietf.org/rfc/rfc2104.txt
我使用了 MD5CryptoServiceProvider 但没有成功。 我正在尝试与外部软件通信,我们必须具有相同的 HASH。 问了他们的开发人员,他们告诉我使用这个 alogirtm :http://www.ietf.org/rfc/rfc2104.txt
所以我的问题是如何使我的 HASH 等于他们的.. 非常感谢您的建议..
编辑
根据您的评论,我删除了我之前的回答,因为它被误解了。 我尝试了一些新的东西希望这有帮助
HMAC 密钥(十六进制格式)
string key = "52320e181a481f5e19507a75b3cae4d74d5cfbc328f7f2b738e9fb06b2e05b55b632c1c3d331dcf3baacae8d3000594f839d770f2080910b52b7b8beb3458c08";
string payload = "1116Software program14200503031234341420050303123434";
int NumberChars = key.Length;
byte[] bytes = new byte[NumberChars / 2];
for (int i = 0; i < NumberChars; i += 2)
bytes[i / 2] = Convert.ToByte(key.Substring(i, 2), 16);
byte[] keyInBytes = bytes;
byte[] payloadInBytes = Encoding.UTF8.GetBytes(payload);
var md5 = new HMACMD5(key);//This should match with service key
byte[] hash = md5.ComputeHash(payloadInBytes);
var result = BitConverter.ToString(hash).Replace("-", string.Empty);
您应该有一个密钥,并且该密钥必须等于您所引用的服务中使用的密钥 to.then 结果将相同