/// <summary> /// RSA生成签名 /// </summary> /// <param name="sPara"></param> /// <param name="key"></param> /// <returns></returns> public static string BuildRequestRsaSign(string data, string key, string sign_type, string input_charset) { //把最终的字符串签名,获得签名结果 string mysign = ""; switch (sign_type) { case "MD5": mysign = AlipayMD5.Sign(data, key, input_charset); break; case "RSA": mysign = RSAFromPkcs8.sign(data, key, input_charset); break; case "0001": mysign = RSAFromPkcs8.sign(data, key, input_charset); break; default: mysign = ""; break; } return(mysign); }
/// <summary> /// 生成请求时的签名 /// </summary> /// <param name="sPara">请求给支付宝的参数数组</param> /// <returns>签名结果</returns> private static string BuildRequestMysign(Dictionary <string, string> sPara) { //把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 string prestr = Core.CreateLinkString(sPara); //把最终的字符串签名,获得签名结果 string mysign = ""; switch (_sign_type) { case "MD5": mysign = AlipayMD5.Sign(prestr, _key, _input_charset); break; case "RSA": mysign = RSAFromPkcs8.sign(prestr, _private_key, _input_charset); break; case "0001": mysign = RSAFromPkcs8.sign(prestr, _private_key, _input_charset); break; default: mysign = ""; break; } return(mysign); }