【发布时间】:2021-04-25 23:52:00
【问题描述】:
我正在开发一个 .net 标准(.net 标准 2.0)库。
我有一个公钥,它是在服务器端创建的,我通过 api 调用收到了它。
现在我有一个要使用 RSA 算法加密的字符串。另外,我必须在加密我拥有的字符串时使用这个公钥。
我浏览了各种样本,但没有任何帮助。
试过这个RSA public key encryption in C#
但出现错误“此平台不支持操作。” .
试过this 一个,但找不到使用我从服务器收到的公钥的方法。
这是我尝试过的最新代码。我不确定如何以及在何处使用我的公钥字符串。
static public byte[] Encryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
{
try
{
byte[] encryptedData;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
RSA.ImportParameters(RSAKey);
encryptedData = RSA.Encrypt(Data, DoOAEPPadding);
}
return encryptedData;
}
catch (CryptographicException e)
{
Console.WriteLine(e.Message);
return null;
}
}
static public byte[] Decryption(byte[] Data, RSAParameters RSAKey, bool DoOAEPPadding)
{
try
{
byte[] decryptedData;
using (RSACryptoServiceProvider RSA = new RSACryptoServiceProvider())
{
RSA.ImportParameters(RSAKey);
decryptedData = RSA.Decrypt(Data, DoOAEPPadding);
}
return decryptedData;
}
catch (CryptographicException e)
{
Console.WriteLine(e.ToString());
return null;
}
}
在这里我可以看到RSAKey,但它不接受字符串输入。
任何人都可以指导我一些示例,通过这些示例我可以对我拥有的公众加密和解密一个简单的文本。
谢谢, 诺鲁尔。
【问题讨论】:
-
我浏览了各种样本,但没有任何帮助。 不是一个有用的描述。如果这些示例对您没有帮助,为什么其他示例会有所帮助?所以请准确描述你尝试了什么以及问题是什么。除此之外,还缺少一些重要信息,例如您使用的是哪个 .NET 版本,密钥的格式是什么。
-
@Topaco 编辑了我尝试过的链接。希望这能解释我的情况。
-
请发布您最近的代码,否则这里没有什么可修复的。仍然缺少密钥格式。
-
贴出最近的代码,我试过了。
-
可能的解决方案取决于密钥格式(您也可以发布相同格式的测试密钥)。只要您不指定,您可能必须自己找到解决方案。
标签: c# .net encryption rsa public-key-encryption