gpt4 book ai didi

c# - 从 RSACryptoServiceProvider 获取公钥?

转载 作者:太空狗 更新时间:2023-10-29 20:48:36 28 4
gpt4 key购买 nike

我正在尝试使用公钥加密与客户端和服务器进行通信。服务器应该生成一个 1024 位的公钥并将其发送给客户端,客户端将使用该 key 将加密数据发送回服务器。到目前为止,我已经用这个初始化了 RSACryptoServiceProvider:

RSACryptoServiceProvider rsaEncryption = new RSACryptoServiceProvider(1024);

现在,我知道我可以使用 ExportParameters 从 RSACryptoServiceProvider 获取指数和模数。但是,我想知道,我如何使用此数据将公钥发送回客户端(这也将使用 RSACryptoServiceProvider),以及客户端如何使用此数据来加密某些内容寄回给我?还是我这样做完全错了?

最佳答案

您的逻辑似乎没问题,似乎您只需要一些示例代码。

    using System;
using System.Security.Cryptography;
using System.Text;

namespace RSA
{
class Program
{
static void Main(string[] args)
{
try
{
var rsaServer = new RSACryptoServiceProvider(1024);
var publicKeyXml = rsaServer.ToXmlString(false);

var rsaClient = new RSACryptoServiceProvider(1024);
rsaClient.FromXmlString(publicKeyXml);

var data = Encoding.UTF8.GetBytes("Data To Be Encrypted");

var encryptedData = rsaClient.Encrypt(data, false);
var decryptedData = rsaServer.Decrypt(encryptedData, false);

Console.WriteLine(Encoding.UTF8.GetString(decryptedData));

Console.WriteLine("OK");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.Read();
}
}
}

关于c# - 从 RSACryptoServiceProvider 获取公钥?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14047532/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com