C# 如何在ASP.NET中加密页面请求查询字符串?
我有两页。MainPage.aspx和DealerPage.aspxC# 如何在ASP.NET中加密页面请求查询字符串?,c#,asp.net,encryption,C#,Asp.net,Encryption,我有两页。MainPage.aspx和DealerPage.aspx http:localhost/DealerPage.aspx?DI=485180610 我将请求QueryString从主页发送到DealerPage,但我希望QueryString在传递到DealerPage时被加密 http:localhost/DealerPage.aspx?DI=485180610 在MainPage.aspx中(Javascript)
http:localhost/DealerPage.aspx?DI=485180610
我将请求QueryString从主页发送到DealerPage,但我希望QueryString在传递到DealerPage时被加密
http:localhost/DealerPage.aspx?DI=485180610
在MainPage.aspx中(Javascript)
http:localhost/DealerPage.aspx?DI=485180610
例如
http:localhost/DealerPage.aspx?DI=485180610
在DealerPage.aspx.cs中,我获得并使用QueryString
http:localhost/DealerPage.aspx?DI=485180610
private string tankerPlate = "";
protected void Page_Load(object sender, EventArgs e)
{
this.truckPlate = this.Page.Request.QueryString["DI"];
}
我不想像DI=485180610那样显示
http:localhost/DealerPage.aspx?DI=485180610
我想成为DI=加密和解密,以便使用下一页。试试这个
http:localhost/DealerPage.aspx?DI=485180610
public static class Crypt
{
// Must be random
private static readonly byte[] key = new byte[24] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4 };
public static string Encrypt(string input)
{
byte[] inputArray = UTF8Encoding.UTF8.GetBytes(input);
TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
tripleDES.GenerateKey();
tripleDES.Key = key;
tripleDES.Mode = CipherMode.ECB;
tripleDES.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tripleDES.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
tripleDES.Clear();
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
public static string Decrypt(string input)
{
byte[] inputArray = Convert.FromBase64String(input);
TripleDESCryptoServiceProvider tripleDES = new TripleDESCryptoServiceProvider();
tripleDES.Key = key;
tripleDES.Mode = CipherMode.ECB;
tripleDES.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tripleDES.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(inputArray, 0, inputArray.Length);
tripleDES.Clear();
return UTF8Encoding.UTF8.GetString(resultArray);
}
}
或者尝试一下当单击谷歌地图标记时,我如何使用该标记的可能副本?我使用window.location=“DealerPage.aspx?DI=“+data.plate;在谷歌地图上试试这个吧
http:localhost/DealerPage.aspx?DI=485180610