MIF_E31222569/Assets/ToothyV/Scripts/Backend/CryptoUtility.cs

42 lines
1.2 KiB
C#

using System;
using System.IO;
using System.Security.Cryptography;
using System.Text;
public static class CryptoUtility
{
private static readonly string key = "1234567890123456";
public static string Encrypt(string plainText)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key);
using Aes aes = Aes.Create();
aes.Key = keyBytes;
aes.IV = keyBytes;
using MemoryStream ms = new MemoryStream();
using CryptoStream cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write);
using (StreamWriter sw = new StreamWriter(cs))
{
sw.Write(plainText);
}
return Convert.ToBase64String(ms.ToArray());
}
public static string Decrypt(string encryptedText)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(key);
using Aes aes = Aes.Create();
aes.Key = keyBytes;
aes.IV = keyBytes;
byte[] buffer = Convert.FromBase64String(encryptedText);
using MemoryStream ms = new MemoryStream(buffer);
using CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Read);
using StreamReader sr = new StreamReader(cs);
return sr.ReadToEnd();
}
}