public static String Decrypt(String privateKey, String salt, ApiObject request)
{
var aes = new AesManaged();
aes.IV = Encoding.Unicode.GetBytes(salt);
aes.Key = RSADecrypt(privateKey, request.Key);
String decrypted = null;
try
{
var decryptor = aes.CreateDecryptor();
using (MemoryStream msDecrypt = new MemoryStream(request.Data))
{
using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
{
using (StreamReader srDecrypt = new StreamReader(csDecrypt))
{
// Read the decrypted bytes from the decrypting stream
// and place them in a string.
decrypted = srDecrypt.ReadToEnd();
}
}
}
}
catch (Exception ex)
{
}
finally
{
aes.Dispose();
}
return decrypted;
}