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

c# bouncycastle

作者:飒舛流寒   发布日期:2026-04-01   浏览:102

using System;
using Org.BouncyCastle.Crypto;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;

class Program
{
    static void Main()
    {
        // 生成一个随机的AES密钥
        var key = GenerateAesKey(256);

        Console.WriteLine("Generated AES Key: " + Convert.ToBase64String(key));
    }

    static byte[] GenerateAesKey(int keySize)
    {
        // 创建一个安全的随机数生成器
        var secureRandom = new SecureRandom();

        // 创建一个对称密钥参数生成器,指定使用AES算法
        var keyParameterGenerator = GeneratorUtilities.GetKeyParameterGenerator("AES");

        // 初始化密钥参数生成器,指定密钥长度和随机数生成器
        keyParameterGenerator.Init(keySize / 8, secureRandom);

        // 生成密钥参数
        var keyParameters = (KeyParameter)keyParameterGenerator.GenerateKey();

        // 返回生成的密钥字节数组
        return keyParameters.GetKey();
    }
}

解释说明:

  1. 命名空间引用:首先导入了必要的BouncyCastle命名空间。
  2. 主函数:在Main方法中,调用GenerateAesKey方法生成一个256位的AES密钥,并将其以Base64编码的形式输出到控制台。
  3. 密钥生成方法
    • 使用SecureRandom类创建一个安全的随机数生成器。
    • 使用GeneratorUtilities.GetKeyParameterGenerator("AES")创建一个AES密钥参数生成器。
    • 调用Init方法初始化密钥参数生成器,指定密钥长度(以字节为单位)和随机数生成器。
    • 调用GenerateKey方法生成密钥参数,并返回密钥的字节数组。

这个示例展示了如何使用BouncyCastle库生成一个AES加密密钥。

上一篇:c# datatable 查询

下一篇:c# rectangle

大家都在看

c# 二进制

c# 创建目录

c# datatable group by

c# tcp client

c# type.gettype

c# sqlconnection

c# string.format 小数位数

.net和c#

c#获取系统时间

c#游戏开发

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

Laravel 中文站