private static bool checkSignMD5(SortedDictionary<string, string> sParaTemp, String md5_key)
{
string oid_partner;
sParaTemp.TryGetValue ("sign_type", out oid_partner);
Console.WriteLine("进入商户[" + oid_partner + "]MD5签名验证");
if (sParaTemp == null)
{
return false;
}
String sign;
if (!sParaTemp.TryGetValue ("sign", out sign))
{
return false;
}
// 生成签名原串
String sign_src = genSignData(sParaTemp);
Console.WriteLine("商户[" + oid_partner + "]待签名原串"
+ sign_src);
Console.WriteLine("商户[" + oid_partner + "]签名串"
+ sign);
sign_src += "&key=" + md5_key;
try
{
if (sign.Equals(Md5Algorithm.getInstance().md5Digest(
Encoding.UTF8.GetBytes (sign_src))))
{
Console.WriteLine("商户[" + oid_partner
+ "]MD5签名验证通过");
return true;
} else
{
Console.WriteLine("商户[" + oid_partner
+ "]MD5签名验证未通过");
return false;
}
} catch (Exception e)
{
Console.WriteLine("商户[" + oid_partner
+ "]MD5签名验证异常" + e.Message);
return false;
}
}