title: .NET TripleDESCryptoServiceProvider equivalent in Java
body: <p>Please, just don't ask me why. I just have this code in .NET that encrypt/decrypt strings of data. I need now to make 'exactly' the same funcionality in java. I have tried several examples for DESede crypt, but none of them gives the same results as this class in .net.</p>
  
  <p>I even though on making a .net webserbvice behind ssl to serve this two methods writen in .net but it is just too stupid to do without exhausting all the posibilities.</p>
  
  <p>Maybe some of you java people which are more related in the area will have on top of your heads how to make it.</p>
  
  <p>Thanks !!!</p>
  
  <pre><code>public class Encryption
  {
    private static byte[] sharedkey = {...};
    private static byte[] sharedvector = {...};
  
    public static String Decrypt(String val)
    {
      TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
      byte[] toDecrypt = Convert.FromBase64String(val);
      MemoryStream ms = new MemoryStream();
      CryptoStream cs = new CryptoStream(ms, tdes.CreateDecryptor( sharedkey, sharedvector ), CryptoStreamMode.Write);
  
      cs.Write(toDecrypt, 0, toDecrypt.Length);
      cs.FlushFinalBlock();
      return Encoding.UTF8.GetString(ms.ToArray());
    }
  
    public static String Encrypt(String val)
    {
      TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
      byte[] toEncrypt = Encoding.UTF8.GetBytes(val);
      MemoryStream ms = new MemoryStream();
      CryptoStream cs = new CryptoStream(ms, tdes.CreateEncryptor( sharedkey, sharedvector ), CryptoStreamMode.Write);
      cs.Write(toEncrypt, 0, toEncrypt.Length);
      cs.FlushFinalBlock();
      return Convert.ToBase64String(ms.ToArray());
    }
  }
  </code></pre>
  
  <hr>
  
  <h2>Samle input/output</h2>
  
  <pre><code>String plain = "userNameHere:passwordHere";
  Console.WriteLine("plain: " + plain);
  
  
  String encrypted = Encrypt(plain);
  Console.WriteLine("encrypted: " + encrypted);
  // "zQPZgQHpjxR+41Bc6+2Bvqo7+pQAxBBVN+0V1tRXcOc="
  
  String decripted = Decrypt(encrypted);
  Console.WriteLine("decripted: " + decripted); 
  // "userNameHere:passwordHere"
  </code></pre>