具体调用 看下面
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TaoBaoManagersTools
{
public class TaoBaoManagersDataObject
{
public static string sip_sessionid = string.Empty;
public static string format = string.Empty;
public static string sip_appkey = string.Empty;
public static string v = string.Empty;
private static string sip_timestamp;
private byte[] _address = null;
private static ASCIIEncoding encoding;
private static System.Net.HttpWebRequest myRequest;
private System.Security.Cryptography.MD5CryptoServiceProvider md5;
private StringBuilder sb;
private static TaoBaoManagersDataObject instance = null;
private static readonly object padlock = new object();
///
/// 定义TaoBaoDataObject的个单态以获取该类的一个实例
///
public static TaoBaoManagersDataObject getTaoBaoManagersDataObject
{
get
{
lock (padlock)
{
if (instance == null)
instance = new TaoBaoManagersDataObject();
return instance;
}
}
}
///
/// 设置店铺配置
///
/// ShopConfigEntity 实体
public void getShopConfig(TaoBaoManagersEntity.ShopConfigEntity sce)
{
sip_sessionid = sce.Sip_sessionid;
format = sce.Format;
sip_appkey = sce.Sip_appkey;
v = sce.V;
}
///
/// 设置参数
///
public void setSL(System.Collections.SortedList mySL)
{
mySL.Clear();
sip_timestamp = System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
mySL.Add("format", format);
mySL.Add("sip_appkey", sip_appkey);
mySL.Add("sip_timestamp", sip_timestamp);
mySL.Add("sip_sessionid", sip_sessionid);
mySL.Add("v", v);
}
///
/// 获取地址字符串
///
///
///
public byte[] getAddress(System.Collections.SortedList mySL)
{
String address = "";
for (int i = 0; i < mySL.Count; i++)
{
address = String.Format("{0}{1}={2}&", address, mySL.GetKey(i).ToString(), System.Web.HttpUtility.UrlEncode(mySL.GetByIndex(i).ToString()));
}
encoding = new ASCIIEncoding();
_address = encoding.GetBytes(address + "sip_sign=" + getEncrypt(mySL));
return _address;
}
///
/// 对地址字符串进行MD5加密
///
/// 地址字符串数组
///
public string getEncrypt(System.Collections.SortedList mySL)
{
//签名字段的生成,将CERT CODE和所有接口要传的参数进行组合,再将组装好的字符串进行md5加密后转成16进制后得到一个32位的密文
//StringBuilder sb = new StringBuilder();
sb = new StringBuilder();
sb.Append("127966e01a9c11deb6daefc7091