Эквивалент .NET TripleDESCryptoServiceProvider в Java

Пожалуйста, просто нене спрашивай меня почему. У меня просто есть этот код в .NET, который шифрует / дешифрует строки данных. Мне нужно сделать сейчасименно так' та же функциональность в Java. Я пробовал несколько примеров для крипты DESede, но ни один из них не дает таких же результатов, как этот класс в .net.

Я даже при создании .net webserbvice за ssl для обслуживания этих двух методов, написанных в .net, но это слишком глупо, чтобы не исчерпать все возможности.

Может быть, некоторые из вас, людей из Java, которые более связаны в этом районе, будут знать, как это сделать.

Спасибо !!!

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());
  }
}
Самле ввода / вывода
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"

Ответы на вопрос(4)

Ваш ответ на вопрос