Encryption
public static string Encrypt(string strToEncrypt, string strKey)
{
try
{
TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
byte[] byteHash, byteBuff;
string strTempKey = strKey;
byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
objHashMD5 = null;
objDESCrypto.Key = byteHash;
objDESCrypto.Mode = CipherMode.ECB;
objDESCrypto.Padding = PaddingMode.PKCS7;
byteBuff = ASCIIEncoding.ASCII.GetBytes(strToEncrypt);
strToEncrypt = Convert.ToBase64String(objDESCrypto.CreateEncryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
strToEncrypt = strToEncrypt.Replace("+", "AeIoU").Replace("/", "AEIou").Replace("=", "aeIOU");
return strToEncrypt;
}
catch (Exception ex)
{
return "Wrong Input. " + ex.Message;
}
}
====================================================
Decryption
public static string Decrypt(string strEncrypted, string strKey)
{
try
{
strEncrypted = strEncrypted.Replace("AeIoU", "+").Replace("AEIou", "/").Replace("aeIOU", "=");
TripleDESCryptoServiceProvider objDESCrypto = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider objHashMD5 = new MD5CryptoServiceProvider();
byte[] byteHash, byteBuff;
string strTempKey = strKey;
byteHash = objHashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strTempKey));
objHashMD5 = null;
objDESCrypto.Key = byteHash;
objDESCrypto.Mode = CipherMode.ECB; //CBC, CFB
objDESCrypto.Padding = PaddingMode.PKCS7;
byteBuff = Convert.FromBase64String(strEncrypted);
string strDecrypted = ASCIIEncoding.ASCII.GetString(objDESCrypto.CreateDecryptor().TransformFinalBlock(byteBuff, 0, byteBuff.Length));
objDESCrypto = null;
return strDecrypted;
}
catch (Exception ex)
{
return "Wrong Input. " + ex.Message;
}
}