using System.Security.Cryptography;
public static string Decrypt(string inputStr)
if (inputStr.Length > 16)
byte[] inputBuffer = Convert.FromBase64String(inputStr);
byte[] buffer = new byte[16];
for (int index = 0; index < 16; ++index)
buffer[index] = inputBuffer[index];
SHA256CryptoServiceProvider cryptoServiceProvider1 = new SHA256CryptoServiceProvider();
byte[] hash = cryptoServiceProvider1.ComputeHash(buffer);
cryptoServiceProvider1.Clear();
AesCryptoServiceProvider cryptoServiceProvider2 = new AesCryptoServiceProvider();
cryptoServiceProvider2.Key = hash;
cryptoServiceProvider2.Mode = CipherMode.ECB;
cryptoServiceProvider2.Padding = PaddingMode.PKCS7;
byte[] bytes = cryptoServiceProvider2.CreateDecryptor().TransformFinalBlock(inputBuffer, 16, inputBuffer.Length - 16);
cryptoServiceProvider2.Clear();
str = Encoding.UTF8.GetString(bytes);
public static void Main()
var encrypted = "base64-style-hash";
Console.WriteLine($"Decrypted: `{Decrypt(encrypted)}`");