Ich versuche, einen Text zu entschlüsseln, die mit RSA, ich habe den öffentlichen Schlüssel, dies zu tuninitialisieren RSA von String
`
-----BEGIN RSA PUBLIC KEY-----
MIGWAoGBAMqfGO9sPz+kxaRh/qVKsZQGul7NdG1gonSS3KPXTjtcHTFfexA4MkGA
mwKeu9XeTRFgMMxX99WmyaFvNzuxSlCFI/foCkx0TZCFZjpKFHLXryxWrkG1Bl9+
+gKTvTJ4rWk1RvnxYhm3n/Rxo2NoJM/822Oo7YBZ5rmk8NuJU4HLAhAYcJLaZFTO
sYU+aRX4RmoF
-----END RSA PUBLIC KEY-----
`
Wie kann ich diese laden verschlüsselt ist in RSACryptoServiceProvider
, weil dies nur von XMLString geladen werden kann und ich nicht weiß, wie man dies in Xml-Format
konvertiert Die Schlüsselgröße ist 128
Ich versuchte es mit dem folgenden Code
public byte[] Decrypt128(byte[] input)
{
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(128);
rsa.ImportCspBlob(Encoding.ASCII.GetBytes(_longKey));
return rsa.Decrypt(input, true);
}
_longKey ist der Inhalt zwischen BEGIN und END und auch der BEGIN und END einschließlich zu initialisieren, bietet Bad Version of provider.
Dies ist kein Duplikat Frage der How do you convert Byte Array to Hexadecimal String, and vice versa?
Ich weiß bereits, wie man Byte in Hex und Hex in Byte umwandelt, aber das hilft mir in keiner Weise bei der Initialisierung RSACryptoServiceProvider
vielleicht gib mir ein Beispiel, wie das helfen würde, aber an dieser Stelle ist es nicht
Mögliches Duplikat [? Wie konvertieren Byte-Array zu Hexadezimal String, Sie und umgekehrt] (http: // Stackoverflow. com/fragen/311165/how-do-you-conv ert-byte-array-zu-hexadezimal-zeichenfolge-und-umgekehrt) –
Ich bin nicht sicher, wie dies ein mögliches Duplikat ist, wenn ich 'RSACryptoServiceProvider' mit dem öffentlichen Schlüssel –
initialisieren muss Der Inhalt zwischen BEGIN und END sind wahrscheinlich eine hexadezimale Zeichenfolge, oder noch wahrscheinlicher eine [Base64] (http://stackoverflow.com/questions/7134837/how-doi-i-code-a-base64-encoded-string). Also Encoding.GetBytes wird nicht funktionieren. –