I need a encrypt/decrypt algorithm for database keys at a java Aplication. I have to use a algoritmh implement previously using c#, but some classes it use, dont have a java equivalent.
This is the c# code:
public static string Encryptor(string text)
{
SymmetricAlgorithm saEnc;
byte[] dataorg = Encoding.Default.GetBytes(text);
saEnc = SymmetricAlgorithm.Create("RC2");
ICryptoTransform ct = saEnc.CreateEncryptor(Key, Vector);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
cs.Write(dataorg, 0, dataorg.Length);
cs.FlushFinalBlock();
string retorno = Convert.ToBase64String(ms.ToArray());
ms.Close();
saEnc.Clear();
cs.Clear();
cs.Close();
ms = null;
saEnc = null;
cs = null;
return retorno;
}
/**********************************************************************************
DESCRIPCIÓN: Desencripta un texto
PARÁMETROS:
Entrada:
text Texto a desencriptar
Salida:
Texto desencriptado
**********************************************************************************/
public static string Decryptor(string text)
{
SymmetricAlgorithm saDEnc = SymmetricAlgorithm.Create("RC2");
byte[] textoEncriptado = Convert.FromBase64String(text);
MemoryStream ms = new MemoryStream(textoEncriptado);
ICryptoTransform cto = saDEnc.CreateDecryptor(Key, Vector);
MemoryStream mso = new MemoryStream();
CryptoStream cso = new CryptoStream(mso, cto, CryptoStreamMode.Write);
cso.Write(ms.ToArray(), 0, ms.ToArray().Length);
cso.FlushFinalBlock();
string retorno = Encoding.Default.GetString(mso.ToArray());
saDEnc.Clear();
ms.Close();
mso.Close();
cso.Clear();
cso.Close();
saDEnc = null;
ms = null;
mso = null;
cso = null;
return retorno;
}
Some help to create a equivalent code at java? or other alternative?
THanks!