WebsiteGear Logo Log In
New User? Sign Up
About | Contact | FAQ
Home Discussion Forums Website Development ASP, VB & .NET
New Post New Post | Report Abuse Report Abuse


Encrypt and decrypt query string
Post by hanusoftware on Jun 7, 2007 12:42:18 AM CST


This code has been used to encrypt and decrypt query string. No matter what the length of the url is, this code will encrypt the key and the value the query string into 25 digit.

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Collections;
using System.Web;

namespace BusinessLayer
{
public class QueryString : NameValueCollection
{
private string document;
public string Document
{
get
{
return document;
}
}
public QueryString()
{
}
public QueryString(NameValueCollection clone): base(clone)
{
}
//############################### ################################
//This Class Has been used to get the URl from the address browser of the page
// http://www.hanusoftware.com
//############################### ################################
//this method has been used to get the current URL of the page
public static QueryString FromCurrent()
{

//returns the current url from the address bar
return FromUrl(HttpContext.Current.Request.Url.AbsoluteUr i);

}
/// <summary>
/// This method has been used to divide the Address URl into characters chunks
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
public static QueryString FromUrl(string url)
{
//it breaks the address URL in array with separator of ? mark
//this line breaks the Querystring and page
string[] parts = url.Split("?".ToCharArray());
//instantiate the class object
QueryString qs = new QueryString();
//assign the page address to the variable
qs.document = parts[0];
//if there is any data in array
if (parts.Length == 1)
return qs;
//breaks the QueryString into characters chunks with separator mark &
string[] keys = parts[1].Split("&".ToCharArray());
foreach (string key in keys)
{
//again breaks into chunks by + mark
string[] part = key.Split("=".ToCharArray());
if (part.Length == 1)
qs.Add(part[0], "");
//adds the QueryString key and value pair to the assigned variable
qs.Add(part[0], part[1]);
}
return qs;

}
/// <summary>
/// This method clear all exceptions in the passed string
/// </summary>
/// <param name="except"></param>
public void ClearAllExcept(string except)
{
//calls the method to clear except
ClearAllExcept(new string[] { except });

}
/// <summary>
/// this is the usual method which has to call clear all exceptions
/// </summary>
/// <param name="except"></param>
public void ClearAllExcept(string[] except)
{
//take an arrayList
ArrayList toRemove = new ArrayList();
foreach (string s in this.AllKeys)
{
foreach (string e in except)
{
if (s.ToLower() == e.ToLower())
if(!toRemove.Contains(s))
toRemove.Add(s);

}
}
foreach (string s in toRemove)
this.Remove(s);
}
/// <summary>
/// this method adds the key value pairs in QueryString of the URL
/// </summary>
/// <param name="name"></param>
/// <param name="value"></param>
public override void Add(string name, string value)
{
//checks nullability of the name
if (this[name] != null)
//if not null then assign value to it
this[name] = value;
else
base.Add(name, value);
}

public override string ToString()
{
return ToString(false);
}

/// <summary>
/// this ethod has been used to join all the characters array to the URL
/// </summary>
/// <param name="includeUrl"></param>
/// <returns></returns>
public string ToString(bool includeUrl)
{

string[] parts = new string[this.Count];

string[] keys = this.AllKeys;
//for each keys breaks the URL into chunks
for (int i = 0; i < keys.Length; i++)

parts = keys + "=" + HttpContext.Current.Server.UrlEncode(this[keys]);

string url = String.Join("&", parts);

if ((url != null || url != String.Empty) && !url.StartsWith("?"))

url = "?" + url;

if (includeUrl)

url = this.document + url;

return url;

}

}

}


Software Development India


Submit To Slashdot Slashdot | Submit To Digg.com Digg | Save in del.icio.us Del.icio.us | Submit To Reddit Reddit
REPLIES & COMMENTS Post a Reply
Comment by janebush08 on Jul 18, 2008 7:04:06 AM CST Report Abuse
Nice code...thanks for sharing..I found it very useful lol...


offshore software development
Comment by techexpert on Jul 19, 2008 5:06:33 AM CST Report Abuse
Hi,

Nice Code, It will be very usefull for all who are working on .NET, ASP.Net. Please post some more use full codes.

-----------
Software Development
LATEST FORUM POSTINGS
Nav New Keywords Utils Site | Mar 16, 2009
Nav Choose Best Web Hosting Company | Mar 12, 2009
Nav Online tutorials for programming languages | Mar 6, 2009
Nav How to find out what code is used in website? | Feb 26, 2009
Nav How to make flash 3D sphere photo gallery | Feb 24, 2009
Nav What are H1, H2 & so on in web design? | Feb 11, 2009
Nav Best tool for real estate web design | Feb 11, 2009
Nav finding a job | Feb 11, 2009
FORUM SEARCH

FEATURED NEWS | POPULAR NEWS
Submit News | View More News View More News


Copyright © 2003-2009 WebsiteGear Inc. All rights reserved.
About | Advertise | Submit Content | Privacy | Agreement | Contact