Files
asistencia-desktop/Asistencia/Helpers/CryptoHelper.cs
T

45 lines
1.3 KiB
C#

using System.Security.Cryptography;
using System.Text;
namespace Asistencia.Helpers;
public static class CryptoHelper
{
private static readonly byte[] Key = Encoding.UTF8.GetBytes("S4M_Pru3b4_2024!");
private static readonly byte[] IV = new byte[16];
public static string Encriptar(string texto)
{
using var aes = Aes.Create();
aes.Key = Key;
aes.IV = IV;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
using var encryptor = aes.CreateEncryptor();
using var ms = new MemoryStream();
using (var cs = new CryptoStream(ms, encryptor, CryptoStreamMode.Write))
using (var writer = new StreamWriter(cs))
{
writer.Write(texto);
}
return Convert.ToBase64String(ms.ToArray());
}
public static string Desencriptar(string textoEncriptado)
{
using var aes = Aes.Create();
aes.Key = Key;
aes.IV = IV;
aes.Mode = CipherMode.CBC;
aes.Padding = PaddingMode.PKCS7;
var buffer = Convert.FromBase64String(textoEncriptado);
using var decryptor = aes.CreateDecryptor();
using var ms = new MemoryStream(buffer);
using var cs = new CryptoStream(ms, decryptor, CryptoStreamMode.Read);
using var reader = new StreamReader(cs);
return reader.ReadToEnd();
}
}