Skip to content

Instantly share code, notes, and snippets.

@andrijac
Created June 17, 2022 08:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrijac/12e229f99a697ebcf5cbee61dcaf24e5 to your computer and use it in GitHub Desktop.
Save andrijac/12e229f99a697ebcf5cbee61dcaf24e5 to your computer and use it in GitHub Desktop.
using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
namespace Utility
{
public class AesSymmetricCrypter
{
public string Decrypt(string key, string cipherText)
{
byte[] key2 = Encoding.UTF8.GetBytes(key);
byte[] iv = Encoding.UTF8.GetBytes(key);
using var aes = Aes.Create("AesManaged");
byte[] buffer = Convert.FromBase64String(cipherText);
using MemoryStream memoryStream = new(buffer);
using CryptoStream cryptStream = new(
memoryStream,
aes.CreateDecryptor(key2, iv),
CryptoStreamMode.Read);
using StreamReader streamReader = new(cryptStream);
string decryptedValue = streamReader.ReadToEnd();
streamReader.Close();
memoryStream.Close();
return decryptedValue.Trim();
}
public string Encrypt(string key, string value)
{
using var aes = Aes.Create("AesManaged");
byte[] key2 = Encoding.UTF8.GetBytes(key);
byte[] iv = Encoding.UTF8.GetBytes(key);
using MemoryStream memoryStream = new();
using CryptoStream cryptoStream = new(
memoryStream,
aes.CreateEncryptor(key2, iv),
CryptoStreamMode.Write);
using StreamWriter streamWriter = new(cryptoStream);
streamWriter.WriteLine(value);
streamWriter.Close();
cryptoStream.Close();
byte[] byteResult = memoryStream.ToArray();
string encrypted = Convert.ToBase64String(byteResult);
memoryStream.Close();
return encrypted;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment