- `Encrypt`-Methode überarbeitet, um `ToBytes` und `ToBase64String` für Konsistenz und bessere Lesbarkeit zu verwenden. - Parametername in der Methode `Encrypt(string)` von `data` zu `strData` geändert, um die Verständlichkeit zu verbessern.
24 lines
706 B
C#
24 lines
706 B
C#
using DigitalData.Core.Abstractions.Security;
|
|
using DigitalData.Core.Extensions;
|
|
|
|
namespace DigitalData.Core.Security.Cryptographer
|
|
{
|
|
public class RSAEncryptor : RSACryptographer, IRSAEncryptor, IRSACryptographer
|
|
{
|
|
public override string Pem
|
|
{
|
|
get => base.Pem;
|
|
init
|
|
{
|
|
base.Pem = value;
|
|
RSA.ImportFromPem(value);
|
|
}
|
|
}
|
|
|
|
public byte[] Encrypt(byte[] data) => RSA.Encrypt(data, Padding);
|
|
|
|
public string Encrypt(string data) => RSA.Encrypt(data.ToBytes(), Padding).ToBase64String();
|
|
|
|
public bool Verify(string data, string signature) => Encrypt(data) == signature;
|
|
}
|
|
} |