Los query strings son un modo facil de pasar informacion de una pagina a otra. El problema con los query strings es que la informacion es visible en la URL. Y muchas veces se ha pasado por alto este detalle y hay veces que necesitamos encriptar cierta informacion para evitar ataques tipo SQL Injection.En el siguiente ejemplo ingresaremos una cadena y mostraremos la misma encriptada en la Barra de Direcciones.
Creamos un sitio wseb y agregamos otro webform aparte del que nos viene por defecto:
En nuestra primera pagina agregamos un textbox y un boton
Creamos un sitio wseb y agregamos otro webform aparte del que nos viene por defecto:
En nuestra primera pagina agregamos un textbox y un boton
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txt1" runat="server"></asp:TextBox>
<asp:Button ID="btn1" runat="server" Text="Button" onclick="btn1_Click" />
</div>
</form>
</body>escribiremos codigo en el evento Click del boton y declaramos una variable global de tipo string:string encodedString;//Declare this is in Global
protected void btn1_Click(object sender, EventArgs e)
{
string str = txt1.Text;
encodedString = (Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(str)));
Response.Redirect("~/Default2.aspx?str=" + encodedString);
}Este codigo ira en la primera pagina que nos pedira ingresar un texto en el textbox y nos mostrara en la 2 pagina el mismo texto pero en la cadena saldra encriptado como en la foto del principio. Ahora en la 2 pagina agregamos un label este sera el codigo en html:<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</div>Y este es el codigo en C#:string decodedString;//Declare this is in Global
protected void Page_Load(object sender, EventArgs e)
{
decodedString = System.Text.ASCIIEncoding.ASCII.GetString(Convert.FromBase64String(Request.QueryString["str"]));
Label1.Text = decodedString;
}Este pequeño codigo fue un ejemplo de encriptacion basica espero les haya sido util.

















