using System.Security.Cryptography;
public static string Encrypt(string text, string key)
var _key = Encoding.UTF8.GetBytes(key);
using (var aes = Aes.Create())
aes.Mode = CipherMode.CBC;
using (var encryptor = aes.CreateEncryptor(_key, aes.IV))
using (var ms = new MemoryStream())
using (var cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
using (var sw = new StreamWriter(cs))
var encrypted = ms.ToArray();
var result = new byte[iv.Length + encrypted.Length];
Buffer.BlockCopy(iv, 0, result, 0, iv.Length);
Buffer.BlockCopy(encrypted, 0, result, iv.Length, encrypted.Length);
return Convert.ToBase64String(result);
public static string Decrypt(string encrypted, string key)
var b = Convert.FromBase64String(encrypted);
var cipher = new byte[b.Length - 16];
Buffer.BlockCopy(b, 0, iv, 0, iv.Length);
Buffer.BlockCopy(b, iv.Length, cipher, 0, b.Length - iv.Length);
var _key = Encoding.UTF8.GetBytes(key);
using (var aes = Aes.Create())
aes.Mode = CipherMode.CBC;
using (var decryptor = aes.CreateDecryptor(_key, iv))
var result = string.Empty;
using (var ms = new MemoryStream(cipher))
using (var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read))
using (var sr = new StreamReader(cs))
public static void Main()
var key = "as2wqww2WWSdw32ghdfsds!qvfFFsxc2";
var payload = "elmir.muratovic@titanka.com#it#2022-03-30T15:03:26+02:00";
var hash1 = "6JGv3wTRi5TKdoJzfN0TWo+afkaTEzfAUQ8rQLyI2FF+KUPZv9S24LA9b0LjIcHOOfLeSa0DWtCjIkdkp+3UKF5MvlNdH63SoB3AJocH+Io=";
var hash2 = Program.Encrypt(payload, key);
Console.WriteLine("Hash1: " + hash1);
Console.WriteLine("Descrypt: " + Program.Decrypt(hash1, key));
Console.WriteLine("Hash2: " + hash2);
Console.WriteLine("Descrypt: " + Program.Decrypt(hash2, key));