using System.Security.Cryptography;
public static void Main()
public static string Encrypt(string clearText)
string password = "A_Wise_Man_Once_Told_Me_Obfuscation_Is_Useless_Anyway";
byte[] bytes = Encoding.get_Unicode().GetBytes(clearText);
using (Aes aes = Aes.Create())
Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(password, new byte[13]
aes.Key = rfc2898DeriveBytes.GetBytes(32);
aes.IV = rfc2898DeriveBytes.GetBytes(16);
using (MemoryStream memoryStream = new MemoryStream())
using (CryptoStream cryptoStream = new CryptoStream((Stream) memoryStream, aes.CreateEncryptor(), CryptoStreamMode.Write))
((Stream) cryptoStream).Write(bytes, 0, bytes.Length);
((Stream) cryptoStream).Close();
clearText = Convert.ToBase64String(memoryStream.ToArray());
public static string Decrypt(string cipherText)
string password = "A_Wise_Man_Once_Told_Me_Obfuscation_Is_Useless_Anyway";
cipherText = cipherText.Replace(" ", "+");
byte[] numArray = Convert.FromBase64String(cipherText);
using (Aes aes = Aes.Create())
Rfc2898DeriveBytes rfc2898DeriveBytes = new Rfc2898DeriveBytes(password, new byte[13]
aes.Key = rfc2898DeriveBytes.GetBytes(32);
aes.IV = rfc2898DeriveBytes.GetBytes(16);
using (MemoryStream memoryStream = new MemoryStream())
using (CryptoStream cryptoStream = new CryptoStream((Stream) memoryStream, aes.CreateDecryptor(), CryptoStreamMode.Write))
((Stream) cryptoStream).Write(numArray, 0, numArray.Length);
((Stream) cryptoStream).Close();
cipherText = Encoding.get_Unicode().GetString(memoryStream.ToArray());