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 中文站