sábado, 22 de septiembre de 2012

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
<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.

0 comentarios:

Publicar un comentario en la entrada