Using the reference of below link i have created this sample
encrypt and decrypt QueryString Parameter Values in ASP.Net using C# and VB.Net
Default.aspx
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Name:
</td>
<td>
<asp:TextBox ID="txtName" runat="server" Text="Mudassar Khan" />
</td>
</tr>
<tr>
<td>
Technology:
</td>
<td>
<asp:DropDownList ID="ddlTechnology" runat="server">
<asp:ListItem Text="ASP.Net" Value="ASP.Net" />
<asp:ListItem Text="PHP" Value="PHP" />
<asp:ListItem Text="JSP" Value="JSP" />
</asp:DropDownList>
</td>
</tr>
</table>
<hr />
<asp:Button ID="Button1" Text="Submit" runat="server" OnClick="Submit" />
</div>
</form>
Namespaces
using System.Security.Cryptography;
using System.IO;
using System.Text;
C#
protected void Submit(object sender, EventArgs e)
{
string name = HttpUtility.UrlEncode(Encrypt(txtName.Text.Trim()));
string technology = HttpUtility.UrlEncode(Encrypt(ddlTechnology.SelectedItem.Value));
ClientScript.RegisterStartupScript(this.GetType(), "alert", "window.open('Default.aspx?name=" + name + "&technology=" + technology + "','width=200, height=100')", true);
// Response.Redirect(string.Format("~/CS2.aspx?name={0}&technology={1}", name, technology));
}
private string Encrypt(string clearText)
{
string EncryptionKey = "MAKV2SPBNI99212";
byte[] clearBytes = Encoding.Unicode.GetBytes(clearText);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateEncryptor(), CryptoStreamMode.Write))
{
cs.Write(clearBytes, 0, clearBytes.Length);
cs.Close();
}
clearText = Convert.ToBase64String(ms.ToArray());
}
}
return clearText;
}
Default2.aspx
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
Name:
</td>
<td>
<asp:Label ID="lblName" runat="server" Text="" />
</td>
</tr>
<tr>
<td>
Technology:
</td>
<td>
<asp:Label ID="lblTechnology" runat="server" Text="" />
</td>
</tr>
</table>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
lblName.Text = Decrypt(HttpUtility.UrlDecode(Request.QueryString["name"]));
lblTechnology.Text = Decrypt(HttpUtility.UrlDecode(Request.QueryString["technology"]));
}
}
private string Decrypt(string cipherText)
{
string EncryptionKey = "MAKV2SPBNI99212";
cipherText = cipherText.Replace(" ", "+");
byte[] cipherBytes = Convert.FromBase64String(cipherText);
using (Aes encryptor = Aes.Create())
{
Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(EncryptionKey, new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
encryptor.Key = pdb.GetBytes(32);
encryptor.IV = pdb.GetBytes(16);
using (MemoryStream ms = new MemoryStream())
{
using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write))
{
cs.Write(cipherBytes, 0, cipherBytes.Length);
cs.Close();
}
cipherText = Encoding.Unicode.GetString(ms.ToArray());
}
}
return cipherText;
}