using System.Security.Cryptography;
public static void Main()
var key = "tDXEZtNOVbBuNU8tK27Rl/oE7bbAQquC";
Console.WriteLine("Key: {0}", key);
Console.WriteLine("IV: {0}", iv);
var userPass = "username=jwtest10&password=!!";
var encrypted = Encrypt(userPass, key, iv);
Console.WriteLine(encrypted);
var decrypted = Decrypt(encrypted, key, iv);
Console.WriteLine(decrypted);
private static string CreateKey()
var provider = new TripleDESCryptoServiceProvider();
return Convert.ToBase64String(provider.Key);
private static string CreateIv()
var provider = new TripleDESCryptoServiceProvider();
return Convert.ToBase64String(provider.IV);
private static string Encrypt(string data, string key, string iv)
var bytes = Encoding.UTF8.GetBytes(data);
var provider = new TripleDESCryptoServiceProvider();
provider.Padding = PaddingMode.PKCS7;
provider.Mode = CipherMode.ECB;
provider.Key = Convert.FromBase64String(key);
provider.IV = Convert.FromBase64String(iv);
var transform = provider.CreateEncryptor();
var resultArray = transform.TransformFinalBlock(bytes, 0, bytes.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
private static string Decrypt(string data, string key, string iv)
var bytes = Convert.FromBase64String(data);
var provider = new TripleDESCryptoServiceProvider();
provider.Padding = PaddingMode.PKCS7;
provider.Mode = CipherMode.ECB;
provider.Key = Convert.FromBase64String(key);
provider.IV = Convert.FromBase64String(iv);
var transform = provider.CreateDecryptor();
var resultArray = transform.TransformFinalBlock(bytes, 0, bytes.Length);
return UTF8Encoding.UTF8.GetString(resultArray);