refactor: RSA-Kryptografie-Klassen für bessere Flexibilität und Effizienz überarbeitet
- Konstruktoren zu `RSACryptographer`, `RSADecryptor` und `RSAEncryptor` hinzugefügt, um die Initialisierung zu verbessern. - `PublicKeyPem` in `RSADecryptor` optimiert, um unnötige Objekterstellungen zu vermeiden. - `Verify`-Methode in `RSAEncryptor` korrigiert, um eine korrekte Signaturprüfung zu gewährleisten. - Code-Wiederverwendbarkeit verbessert, indem Base64-Konvertierungslogik zentralisiert wurde.
This commit is contained in:
25
DigitalData.Core.Security/RSADecryptor.cs
Normal file
25
DigitalData.Core.Security/RSADecryptor.cs
Normal file
@@ -0,0 +1,25 @@
|
||||
using System.Security.Cryptography;
|
||||
|
||||
namespace DigitalData.Core.Security
|
||||
{
|
||||
public class RSADecryptor : RSACryptographer
|
||||
{
|
||||
public string PublicKeyPem => _rsa.ExportRSAPublicKeyPem();
|
||||
|
||||
public RSAEncryptor Encryptor
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ()
|
||||
{
|
||||
Pem = PublicKeyPem,
|
||||
Padding = Padding
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] Decrypt(byte[] data) => _rsa.Decrypt(data, Padding);
|
||||
|
||||
public string Decrypt(string data) => _rsa.Decrypt(data.Base64ToByte(), Padding).BytesToString();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user