阅读量:0
在C#中,可以使用RSACryptoServiceProvider
类来实现RSA加密和解密。
首先,你需要生成一个RSA密钥对。以下是一个示例:
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { // 生成密钥对 RSAParameters publicKey = rsa.ExportParameters(false); // 获取公钥 RSAParameters privateKey = rsa.ExportParameters(true); // 获取私钥 // TODO: 将公钥和私钥保存到安全地方 }
接下来,你可以使用生成的公钥进行加密,使用私钥进行解密。以下是一个示例:
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider()) { // 导入私钥 rsa.ImportParameters(privateKey); // 加密数据 byte[] dataToEncrypt = Encoding.UTF8.GetBytes("Hello World"); byte[] encryptedData = rsa.Encrypt(dataToEncrypt, true); // 使用公钥解密 rsa.ImportParameters(publicKey); byte[] decryptedData = rsa.Decrypt(encryptedData, true); // 输出解密后的数据 string decryptedText = Encoding.UTF8.GetString(decryptedData); Console.WriteLine(decryptedText); }
请注意,这只是一个简单的示例。在实际使用中,你可能需要处理密钥的存储和管理,并注意加密数据的大小限制。