using static System.Console;
using System.Security.Cryptography;
public static void Main()
criptografar(senha, entrada);
static void criptografar(string senha, string entrada)
string iv = "HR$2pIjHR$2pIj12";
string keyMd5 = Encryptor.GerarHashMd5(senha);
WriteLine($"Hash MD5: {keyMd5}");
byte[] encrypted = Encryptor.encryptdata(Encoding.UTF8.GetBytes(entrada), keyMd5, iv);
var crip = Encoding.UTF8.GetString(encrypted);
WriteLine($"Saida.Text: {crip}");
static void descriptografar_Click(string senha, string entrada)
string iv = "HR$2pIjHR$2pIj12";
string keyMd5 = Encryptor.GerarHashMd5(senha);
WriteLine($"Hash MD5: {keyMd5}");
byte[] textArray = Encoding.UTF8.GetBytes(entrada);
byte[] input = Encryptor.encryptdata(textArray, keyMd5, iv);
byte[] decrypted = Encryptor.decryptdata(input, keyMd5, iv);
WriteLine($"Saida.Text: {Encoding.UTF8.GetString(decrypted)}");
public static string GerarHashMd5(string input)
MD5 md5Hash = MD5.Create();
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
sBuilder.Append(data[i].ToString("x2"));
return sBuilder.ToString();
static public byte[] encryptdata(byte[] bytearraytoencrypt, string key, string iv)
AesCryptoServiceProvider dataencrypt = new AesCryptoServiceProvider();
dataencrypt.BlockSize = 128;
dataencrypt.KeySize = 128;
dataencrypt.Key = System.Text.Encoding.UTF8.GetBytes(key);
dataencrypt.IV = System.Text.Encoding.UTF8.GetBytes(iv);
dataencrypt.Padding = PaddingMode.PKCS7;
dataencrypt.Mode = CipherMode.CBC;
ICryptoTransform crypto1 = dataencrypt.CreateEncryptor(dataencrypt.Key, dataencrypt.IV);
byte[] encrypteddata = crypto1.TransformFinalBlock(bytearraytoencrypt, 0, bytearraytoencrypt.Length);
static public byte[] decryptdata(byte[] bytearraytodecrypt, string key, string iv)
AesCryptoServiceProvider keydecrypt = new AesCryptoServiceProvider();
keydecrypt.BlockSize = 128;
keydecrypt.KeySize = 128;
keydecrypt.Key = System.Text.Encoding.UTF8.GetBytes(key);
keydecrypt.IV = System.Text.Encoding.UTF8.GetBytes(iv);
keydecrypt.Padding = PaddingMode.PKCS7;
keydecrypt.Mode = CipherMode.CBC;
ICryptoTransform crypto1 = keydecrypt.CreateDecryptor(keydecrypt.Key, keydecrypt.IV);
byte[] returnbytearray = crypto1.TransformFinalBlock(bytearraytodecrypt, 0, bytearraytodecrypt.Length);