using System;
using System.Security.Cryptography;
using System.Text;
public class RSAEncryptionExample
{
public static void Main()
{
// 创建RSA加密提供程序
using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
// 生成密钥对
string publicKey = rsa.ToXmlString(false); // 只导出公钥
string privateKey = rsa.ToXmlString(true); // 导出公钥和私钥
Console.WriteLine("Public Key: " + publicKey);
Console.WriteLine("Private Key: " + privateKey);
// 要加密的字符串
string originalText = "Hello, World!";
Console.WriteLine("Original Text: " + originalText);
// 加密数据
byte[] dataToEncrypt = Encoding.UTF8.GetBytes(originalText);
byte[] encryptedData = rsa.Encrypt(dataToEncrypt, false);
Console.WriteLine("Encrypted Data: " + Convert.ToBase64String(encryptedData));
// 解密数据
byte[] decryptedData = rsa.Decrypt(encryptedData, false);
string decryptedText = Encoding.UTF8.GetString(decryptedData);
Console.WriteLine("Decrypted Text: " + decryptedText);
}
}
}
RSACryptoServiceProvider
类来创建一个RSA加密提供程序实例。ToXmlString
方法生成公钥和私钥。false
参数表示只导出公钥,true
参数表示导出公钥和私钥。Encrypt
方法进行加密。加密后的数据以Base64编码格式输出。Decrypt
方法解密之前加密的数据,并将解密后的字节数组转换回字符串。以上代码展示了如何在C#中使用RSA算法进行加密和解密操作。
上一篇:c# 读取文本文件
下一篇:c# nameof
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站