这是我的加密代码:
public string wdtOpenapi()
{
HttpWebRequest request = null;
HttpWebResponse response = null;
Stream serviceRequestBodyStream = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
request.KeepAlive = false;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
UTF8Encoding encoding = new UTF8Encoding();
requestParams.Add("appkey", appkey);
requestParams.Add("sid", sid);
requestParams.Add("timestamp", TICKS_DIFF());
//定义sign 值传递
string sign = "";
//取值 ref sign
string postData = CreateParam(ref sign,true);
Logger<WDTExterpriseEdition>.Debug("当前sign返回值为" + sign);
byte[] bodyBytes = encoding.GetBytes(postData);
request.ContentLength = bodyBytes.Length;
using (serviceRequestBodyStream = request.GetRequestStream())
{
serviceRequestBodyStream.Write(bodyBytes, 0, bodyBytes.Length);
serviceRequestBodyStream.Close();
using (response = (HttpWebResponse)request.GetResponse())
{
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
string result = reader.ReadToEnd();
reader.Close();
Logger<WDTExterpriseEdition>.Debug("Result输出值:"+result);
return result;
}
}
}
}
catch (Exception ex)
{
Logger<WDTExterpriseEdition>.Debug("异常"+ex.Message);
throw;
}
finally
{
if (response != null)
{
response.Close();
}
if (request != null)
{
request.Abort();
}
}
}
加密时,定义取值加密字符串如下: