Ich versuche eine Funktion zu schreiben, die eine codierte Zeichenfolge und einen öffentlichen Schlüssel als Base64-codierte Zeichenfolge im PKCS # 1-Format empfängt und eine codierte Zeichenfolge zurückgibt.C# RSA Verschlüsseln von Text mit einem bestimmten öffentlichen PKCS # 1-Schlüssel
public static string EncryptRsa(string stringPublicKey, string stringDataToEncrypt)
{
byte[] publicKey = Convert.FromBase64String(stringPublicKey);
// Code to create an RSACryptoServiceProvider with the public key
// var rsa = new RSACryptoServiceProvider(??)
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(stringDataToEncrypt);
var encryptedData = rsa.Encrypt(dataToEncrypt, true);
return Convert.ToBase64String(encryptedData);
}
Ich habe über viele Fragen und Antworten über letzten Tag gesehen, wie die RSA-Algorithmus zur Verschlüsselung verwenden, haben aber nicht gefunden Informationen darüber, wie ein RSACryptoServiceProvider zu erstellen, wenn ich bereits einen vorhandenen Schlüssel haben (genauer gesagt, in einem PKCS # 1-Format), nur wie ein Schlüsselpaar erzeugt wird.
zum Beispiel: Wie würde ich mit der folgenden Zeichenfolge Daten mit RSA-Verschlüsselung verschlüsseln?
----- PUBLIC KEY BEGIN ----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6 + H0qtjTkVxwTCpvKe4eCZ0 FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/ 3j + skZ6UtW + 5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
----- END PUBLIC KEY -----
Danke !!
Vielleicht hilft das - Sie wissen nicht, ob es zu einem Format http passt: //stackoverflow.com/questions/1528928/using-a-previously-generated-rs-a-public-private-key-with-the-net-framework –