エンコードする文字列と公開鍵をPKCS#1形式のbase64エンコード文字列として受け取ってエンコードされた文字列を返す関数を作成しようとしています。C#RSA指定されたPKCS#1公開鍵を使用してテキストを暗号化する
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);
}
私は、特に(RSAアルゴリズムを使用して暗号化する方法について、過去数日間にわたり多くの質問と回答を見てきましたが、私はすでに既存のキーを持っている場合RSACryptoServiceProviderを作成する方法についての情報を発見していませんPKCS#1形式で)、キーペアの生成方法のみを示します。
たとえば、次の文字列を指定すると、RSA暗号化を使用してデータを暗号化するにはどうすればよいですか?
----- BEGIN PUBLIC KEY ----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqGKukO1De7zhZj6 + H0qtjTkVxwTCpvKe4eCZ0 FPqri0cb2JZfXJ/DgYSF6vUpwmJG8wVQZKjeGcjDOL5UlsuusFncCzWBQ7RKNUSesmQRMSGkVb1/ 3J + skZ6UtW + 5u09lHNsj6tQ51s1SPrCBkedbNf0Tp0GbMJDyR4e9T04ZZwIDAQAB
----- END PUBLIC KEY -----
ありがとうございます!
を多分これは役立ちます - それはあなたのフォーマットに HTTPに合うかどうかを知るしないでください。 //stackoverflow.com/questions/1528928/using-a-previously-generated-rsa-public-private-key-with-the-net-framework –