用了Encrypt()不是会改变原值吗?发送的账号密码就会提示不正确,怎么加密呢?
Uri uri = new Uri(web_url);
NameValueCollection values = new NameValueCollection();
values.Add("username", this.Encrypt(username, key));
values.Add("password", this.Encrypt(password, key));
string data = this.PostData(uri, values, true);private string PostData(Uri uri, NameValueCollection values, [Optional, DefaultParameterValue(true)] bool status)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Headers.Add("Accept-Encoding: gzip,deflate");
request.Headers.Add("Accept-Language: zh-cn");
request.ServicePoint.Expect100Continue = false;
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25";
if (status)
{
CookieContainer container = new CookieContainer();
container.Add(uri, new Cookie("cookie", this.SessionID));
//container.Add(uri, new Cookie("Version", this.Version));
request.CookieContainer = container;
}
string s = string.Empty;
if (values != null)
{
foreach (string str2 in values.Keys)
{
s = s + string.Format("{0}={1}&", str2, values[str2]);
}
s = s.Remove(s.Length - 1);
}
byte[] bytes = Encoding.UTF8.GetBytes(s);
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8);
return reader.ReadToEnd();
}
catch (Exception exception)
{
this.AddLog("网络错误", 500, exception.Message);
}
return string.Empty;
}public string Encrypt(string toEstr, string key)
{
byte[] bytes = Encoding.UTF8.GetBytes(toEstr);
byte[] buffer2 = Encoding.UTF8.GetBytes(key);
AesManaged managed2 = new AesManaged
{
Padding = PaddingMode.PKCS7,
Mode = CipherMode.ECB,
Key = buffer2
};
ICryptoTransform transform = managed2.CreateEncryptor();
try
{
byte[] inArray = transform.TransformFinalBlock(bytes, 0, bytes.Length);
return Convert.ToBase64String(inArray, 0, inArray.Length);
}
catch (CryptographicException exception)
{
return exception.Message;
}
}
Uri uri = new Uri(web_url);
NameValueCollection values = new NameValueCollection();
values.Add("username", this.Encrypt(username, key));
values.Add("password", this.Encrypt(password, key));
string data = this.PostData(uri, values, true);private string PostData(Uri uri, NameValueCollection values, [Optional, DefaultParameterValue(true)] bool status)
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.Accept = "*/*";
request.Headers.Add("Accept-Encoding: gzip,deflate");
request.Headers.Add("Accept-Language: zh-cn");
request.ServicePoint.Expect100Continue = false;
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25";
if (status)
{
CookieContainer container = new CookieContainer();
container.Add(uri, new Cookie("cookie", this.SessionID));
//container.Add(uri, new Cookie("Version", this.Version));
request.CookieContainer = container;
}
string s = string.Empty;
if (values != null)
{
foreach (string str2 in values.Keys)
{
s = s + string.Format("{0}={1}&", str2, values[str2]);
}
s = s.Remove(s.Length - 1);
}
byte[] bytes = Encoding.UTF8.GetBytes(s);
Stream requestStream = request.GetRequestStream();
requestStream.Write(bytes, 0, bytes.Length);
requestStream.Close();
StreamReader reader = new StreamReader(request.GetResponse().GetResponseStream(), Encoding.UTF8);
return reader.ReadToEnd();
}
catch (Exception exception)
{
this.AddLog("网络错误", 500, exception.Message);
}
return string.Empty;
}public string Encrypt(string toEstr, string key)
{
byte[] bytes = Encoding.UTF8.GetBytes(toEstr);
byte[] buffer2 = Encoding.UTF8.GetBytes(key);
AesManaged managed2 = new AesManaged
{
Padding = PaddingMode.PKCS7,
Mode = CipherMode.ECB,
Key = buffer2
};
ICryptoTransform transform = managed2.CreateEncryptor();
try
{
byte[] inArray = transform.TransformFinalBlock(bytes, 0, bytes.Length);
return Convert.ToBase64String(inArray, 0, inArray.Length);
}
catch (CryptographicException exception)
{
return exception.Message;
}
}
我抓包看是暗文的参数啊
你可以抓下自己发的明文包,肯定也变成暗文了。
你访问的不是https地址吧