最近对接一个第三方系统,对方使用的是Java开发,而我们的是.NET,在接口对接的时候有用到数据加密校验,对方的解密方法使用的是
String sign = HmacUtils.hmacMd5Hex(salt, data);
经过一番搜索和测试,我们找到了.NET对应的加密方法,代码如下:
public string GetSign(string data, string salt)
{
HMACMD5 hmacmd = new HMACMD5(Encoding.UTF8.GetBytes(salt));
byte[] inArray = hmacmd.ComputeHash(Encoding.UTF8.GetBytes(data));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < inArray.Length; i++)
{
sb.Append(inArray[i].ToString("x2"));
}
hmacmd.Clear();
return sb.ToString();
}