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();
}
}
Main方法中,调用GenerateAesKey方法生成一个256位的AES密钥,并将其以Base64编码的形式输出到控制台。SecureRandom类创建一个安全的随机数生成器。GeneratorUtilities.GetKeyParameterGenerator("AES")创建一个AES密钥参数生成器。Init方法初始化密钥参数生成器,指定密钥长度(以字节为单位)和随机数生成器。GenerateKey方法生成密钥参数,并返回密钥的字节数组。这个示例展示了如何使用BouncyCastle库生成一个AES加密密钥。
上一篇:c# datatable 查询
下一篇:c# rectangle
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站