using System.Security.Cryptography; using System.Text; namespace nexifylabs.Bcrypt { public class Encryption { public static string EncryptString(string plainText) { ArgumentNullException.ThrowIfNull(plainText); var key = "b14ca5898a4e4133bbce2ea2315a1916"; byte[] iv = new byte[16]; byte[] array; using (Aes aes = Aes.Create()) { aes.Key = Encoding.UTF8.GetBytes(key); aes.IV = iv; ICryptoTransform encryptor = aes.CreateEncryptor(aes.Key, aes.IV); using MemoryStream memoryStream = new(); using CryptoStream cryptoStream = new(memoryStream, encryptor, CryptoStreamMode.Write); using (StreamWriter streamWriter = new(cryptoStream)) { streamWriter.Write(plainText); } array = memoryStream.ToArray(); } return Convert.ToBase64String(array); } public static string DecryptString(string cipherText) { var key = "b14ca5898a4e4133bbce2ea2315a1916"; byte[] iv = new byte[16]; byte[] buffer = Convert.FromBase64String(cipherText); using Aes aes = Aes.Create(); aes.Key = Encoding.UTF8.GetBytes(key); aes.IV = iv; ICryptoTransform decryptor = aes.CreateDecryptor(aes.Key, aes.IV); using MemoryStream memoryStream = new(buffer); using CryptoStream cryptoStream = new((Stream)memoryStream, decryptor, CryptoStreamMode.Read); using StreamReader streamReader = new((Stream)cryptoStream); return streamReader.ReadToEnd(); } } }