using System.Security.Cryptography;
public class CrytalEncryptSDT
private static string key = "@WS@#20@##30213123X";
public static string Encrypt(string toEncrypt, bool useHashing)
byte[] toEncryptArray = UTF8Encoding.UTF8.GetBytes(toEncrypt);
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tdes.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
MD5CryptoServiceProvider hashmd51 = new MD5CryptoServiceProvider();
var stringEncrypt = Convert.ToBase64String(resultArray, 0, resultArray.Length);
var result = hashmd51.ComputeHash(UTF8Encoding.UTF8.GetBytes(stringEncrypt));
return Convert.ToBase64String(result, 0, result.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
public static string Decrypt(string cipherString)
byte[] toEncryptArray = Convert.FromBase64String(cipherString);
MD5CryptoServiceProvider hashmd5 = new MD5CryptoServiceProvider();
keyArray = hashmd5.ComputeHash(UTF8Encoding.UTF8.GetBytes(key));
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Mode = CipherMode.ECB;
tdes.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = tdes.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return UTF8Encoding.UTF8.GetString(resultArray);
public static void Main()
var sdt = CrytalEncryptSDT.Encrypt(item,true);