从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作为库。这篇文章最初解决了我的问题: