Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c# rsa加密

作者:至尊巅峰   发布日期:2025-07-07   浏览:34

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);
        }
    }
}

解释说明:

  1. 创建RSA加密提供程序:使用 RSACryptoServiceProvider 类来创建一个RSA加密提供程序实例。
  2. 生成密钥对:通过调用 ToXmlString 方法生成公钥和私钥。false 参数表示只导出公钥,true 参数表示导出公钥和私钥。
  3. 加密数据:将要加密的字符串转换为字节数组,并使用 Encrypt 方法进行加密。加密后的数据以Base64编码格式输出。
  4. 解密数据:使用 Decrypt 方法解密之前加密的数据,并将解密后的字节数组转换回字符串。

以上代码展示了如何在C#中使用RSA算法进行加密和解密操作。

上一篇:c# 读取文本文件

下一篇:c# nameof

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# 取字符串最后一个字符

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站