从c+移植代码+;使用RSA PKCS#1私钥进行c#-加密 我试图把这段代码从C++移植到C语言:

从c+移植代码+;使用RSA PKCS#1私钥进行c#-加密 我试图把这段代码从C++移植到C语言:,c#,c++,encryption-asymmetric,C#,C++,Encryption Asymmetric,到目前为止,我的代码如下: var strPrivateKey = "someBase64EncodedPrivateKey"; var bytes = Convert.FromBase64String(strPrivateKey); var rsa = new RSACryptoServiceProvider(); // How to set the private key to the rsa object?! byte[] someDataToEncrypt = /* Set the

到目前为止,我的代码如下:

var strPrivateKey = "someBase64EncodedPrivateKey";
var bytes = Convert.FromBase64String(strPrivateKey);

var rsa = new RSACryptoServiceProvider();

// How to set the private key to the rsa object?!

byte[] someDataToEncrypt = /* Set the data to encrypt */;
var encryptedData = rsa.Encrypt(someDataToEncrypt, false);
编辑: 我不确定这是否是我应该参考的课程

谢谢

(http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsaparameters.aspx)可以使用以下方法将其提供给RSACryptServiceProvider类。您可以在rsaparters结构中对密钥进行编码。

rsaparters(http://msdn.microsoft.com/en-us/library/system.security.cryptography.rsaparameters.aspx)可以使用以下方法将其提供给RSACryptServiceProvider类。您可以在RSAPERAMETERS结构中对密钥进行编码。

通过添加以下内容对其进行修复:

At the begin of the private key: "-----BEGIN RSA PRIVATE KEY-----\r\n"
After each line of my private key : "\r\n"
At the end of my private key: "-----END RSA PRIVATE KEY-----"
最后,我使用OpenSsl.NET作为库。这篇文章最初解决了我的问题:

通过添加以下内容来修复:

At the begin of the private key: "-----BEGIN RSA PRIVATE KEY-----\r\n"
After each line of my private key : "\r\n"
At the end of my private key: "-----END RSA PRIVATE KEY-----"
最后,我使用OpenSsl.NET作为库。这篇文章最初解决了我的问题: