techexpert

Distinguished
Jul 18, 2008
1
0
18,510
This is the excample of how to encode-decode URL,through this code you can encode-decode a URL


public class UrlEncoderDecoder

{

public UrlEncoderDecoder()

{

// http://www.infysolutions.com

// TODO: Add constructor logic here

//

}

public static string TamperProofStringEncode(string value, string key)

{

System.Security.Cryptography.MACTripleDES mac3des = new System.Security.Cryptography.MACTripleDES();

System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();

mac3des.Key = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(key));

return Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes(value)) + '-' + Convert.ToBase64String(mac3des.ComputeHash(System.Text.Encoding.UTF8.GetBytes(value)));

}

public static string TamperProofStringDecode(string value, string key)

{

string dataValue = "";

string calcHash = "";

string storedHash = "";

System.Security.Cryptography.MACTripleDES mac3des = new System.Security.Cryptography.MACTripleDES();

System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();

mac3des.Key = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(key));

try

{

dataValue = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(value.Split('-')[0]));

storedHash = System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(value.Split('-')[1]));

calcHash = System.Text.Encoding.UTF8.GetString(mac3des.ComputeHash(System.Text.Encoding.UTF8.GetBytes(dataValue)));

if (storedHash != calcHash)

{

throw new ArgumentException("Hash value does not match");

}

}

catch

{

throw new ArgumentException("Invalid TamperProofString");

}

return dataValue;

}

}


*****************************

Offshore Software Development

Offshore Outsourcing Software Development