using System.Security.Cryptography;
public static void Main()
string password = "encenergy";
string ivBase64 = "W111mow111w111p111111g==";
'Name': 'Gross Calorific Value',
'Name': 'Mainboard Offline',
var sha = getKeySHA256(password);
string shaStr = System.Convert.ToBase64String(sha);
Console.WriteLine("SHA str : " + shaStr);
var converted = Convert.FromBase64String(ivBase64);
var result = EncryptString(jsonBody, sha, converted);
Console.WriteLine("result : " + result);
private static byte[] getKeySHA256(string password)
HashAlgorithm algorithm = SHA256.Create();
byte[] keySHA256 = algorithm.ComputeHash(Encoding.UTF8.GetBytes(password));
byte[] truncatedKey = new byte[32];
Array.Copy(keySHA256, truncatedKey, 32);
public static string EncryptString(string plainText, byte[] key, byte[] iv)
Aes encryptor = Aes.Create();
encryptor.Mode = CipherMode.CBC;
byte[] aesKey = new byte[32];
Array.Copy(key, 0, aesKey, 0, 32);
MemoryStream memoryStream = new MemoryStream();
ICryptoTransform aesEncryptor = encryptor.CreateEncryptor();
CryptoStream cryptoStream = new CryptoStream(memoryStream, aesEncryptor, CryptoStreamMode.Write);
byte[] plainBytes = Encoding.UTF8.GetBytes(plainText);
cryptoStream.Write(plainBytes, 0, plainBytes.Length);
cryptoStream.FlushFinalBlock();
byte[] cipherBytes = memoryStream.ToArray();
string cipherText = Convert.ToBase64String(cipherBytes, 0, cipherBytes.Length);
static string ComputeSha256Hash(string rawData)
using (SHA256 sha256Hash = SHA256.Create())
byte[] bytes = sha256Hash.ComputeHash(Encoding.UTF8.GetBytes(rawData));
returnStr = System.Convert.ToBase64String(bytes);
public static string Base64Encode(string plainText)
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(plainText);
return System.Convert.ToBase64String(plainTextBytes);