Digital Dividend

Create Encrypted Query String

by mliaquat 18. December 2010 11:03

Example#01
HyperLink lnk = new HyperLink();
lnk.NavigateUrl = QueryStringEncrypt("~/

EditUser.aspx", "Id", 10);

Output
lnk.NavigateUrl   => /EditUser.aspx?gRtlKfTCOcs=

Example#02
  <a href='<%# QueryStringEncrypt("~/EditUser.aspx", "Id", Eval("Id"))%>'>Edit User</a>

Output
Href   =>   /EditUser.aspx?gRtlKfTCOcs=


Example For Decrypting

int Id=Convert.ToInt32(QueryStringDecrypt("Id"));


        #region Query String Encrypt / Decrypt
        public string QueryStringEncrypt(string url, params object[] values)
        {
            if (values.Length % 2 != 0)
                throw new Exception("Invalid Parameters");
            string queryString = string.Empty;
            for (int i = 0; i < values.Length; i += 2)
                queryString += string.Format("{0}={1}&", values[0], values[1]);

            if (!string.IsNullOrEmpty(queryString))
                queryString = string.Format("?{0}", new SecurityManager().Encrypt(queryString.Substring(0, queryString.Length - 1)));
            return ResolveUrl(url) + queryString;
        }

        public string QueryStringDecrypt(string paramName)
        {
            var queryString = ConversionHelper.ToList(new SecurityManager().Decrypt(Request.ServerVariables["QUERY_STRING"]), '&');
            return (from l in queryString
                    where l.StartsWith(paramName + "=")
                    select l.Substring(l.IndexOf("=") + 1)).FirstOrDefault();
        }
        #endregion

Tags:

.Net | Programming

About the author

Custom Web and Mobile Development