public static string Decrypt(string encryptedText)
{
// Encryption operates on byte arrays, not on strings.
byte[] cipherBytes = Convert.FromBase64String(encryptedText);
// Derive a key from the password.
PasswordDeriveBytes pdb = new PasswordDeriveBytes(NOT_SECRET_KEY,
new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 });
// Use Rijndael symmetric algorithm to do the decryption.
Rijndael rijndaelAlgorithm = Rijndael.Create();
rijndaelAlgorithm.Key = pdb.GetBytes(32);
rijndaelAlgorithm.IV = pdb.GetBytes(16);
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, rijndaelAlgorithm.CreateDecryptor(), CryptoStreamMode.Write);
cryptoStream.Write(cipherBytes, 0, cipherBytes.Length);
cryptoStream.Close();
byte[] decryptedData = memoryStream.ToArray();
return System.Text.Encoding.Unicode.GetString(decryptedData);
}