using System.IO.Compression;
using Org.BouncyCastle.Crypto.Engines;
using Org.BouncyCastle.Crypto.Modes;
using Org.BouncyCastle.Crypto.Paddings;
using Org.BouncyCastle.Crypto.Parameters;
using ICSharpCode.SharpZipLib.BZip2;
public static byte[] StringToByteArray(string hex) {
return Enumerable.Range(0, hex.Length)
.Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
public static void Main()
var input = "o5XrYVZtEKFBqlRiI5dEdZswK5qxWyGeLM8BU8GIpNH5iunJniKTxcdiGFpo+ZbhrOJ2aNq+TJZzIj68sbSMO68sYTf57kgevLoaVkg+833iyIaxmJVNztlW6xr9yNyKEq0/H5pRS1xUbuQyFu0lG7l8EsJlTd987a/GuOMxIIwj896Q8REAx37rvfwDfTpfv8Je6u9yIZWCHk9G0Pywfe2lyHZ+lKGV6PdT24ACoJnlUzLOutdlvhR4aIcQsdjZ4gA5MmNyESJdZoKZjCGAa5hdgZavT3agZHHQkuxTuiYAGFiDs2C+VZjJvofqhRCGlC/YY3kGyKHRjZ6XJLO9FOAHa3p2DFXZ3NXA1BObGjeRsltEmhY/sPrN5wU5O3ddFq/ayF7GbQoz/PI/k59uCvASLkTQ26cxhSxXE0WywXR9GJH9Urb8yUJrt7UcGCvX6mDaBP5w2l/9+ahDKZMyjZXTHTqVzAs58N2Vl7GKBYAUSEd3cw2JKE6dc+ZlSTIwJDRPSXlZf2cQfnvMUnih5vjtKcsmVHbPAHWHkBKXftsawOAavlBBWCtGOTQl8Nq3j+OKp7R1bn0jbBr1VJbwBUNVg05M/4gi9iVIa7n68uGIZhxpGQP93fepl3UCj7iJqdNWl+kqhTyu5dT7W6f2hSu7F1DQBsVLwTPxpXJBxQU=";
var key = "6F7E60497074697E75474C45627C343477655135634D6C506E5D47714B40354E";
var iv = "7B7C797C617B507B4F51795A5E6B797A405A716C623B633E7E424B715B7D3B6F";
Console.WriteLine(Decrypt(input, StringToByteArray(key), StringToByteArray(iv)));
public static string Decrypt(string input, byte[] key, byte[] iv) {
var base64conv = Convert.FromBase64String(input);
RijndaelEngine rijndaelEngine = new RijndaelEngine(256);
PaddedBufferedBlockCipher rijndaelDecrypt = new PaddedBufferedBlockCipher(new CbcBlockCipher(rijndaelEngine), new Pkcs7Padding());
ParametersWithIV keyIv = new ParametersWithIV(new KeyParameter(key), iv, 0, 32);
rijndaelDecrypt.Init(false, keyIv);
var decrypt = rijndaelDecrypt.DoFinal(base64conv);
return JsonConvert.SerializeObject(MessagePackSerializer.Deserialize<dynamic>(decrypt));