using DigitalData.Core.Abstractions.Security; using DigitalData.Core.Security.Extensions; namespace DigitalData.Core.Security { public class RSAEncryptor : RSACryptographer, IRSAEncryptor, IRSACryptographer { public required string PublicKeyPem { get => _rsa.ExportRSAPublicKeyPem(); init => _rsa.ImportFromPem(value); } public byte[] Encrypt(byte[] data) => _rsa.Encrypt(data, Padding); public string Encrypt(string data) => _rsa.Encrypt(data.Base64ToByte(), Padding).BytesToString(); public bool Verify(string data, string signature) => Encrypt(data) == signature; } }