Bouncy Castle 是一个流行的加密库,提供了许多加密算法和密码学功能
Install-Package BouncyCastle
using BouncyCastle;
using BouncyCastle.Crypto;
using BouncyCastle.Crypto.Parameters;
using BouncyCastle.Math;
using BouncyCastle.Security;
// 生成 RSA 密钥对
var keyPairGenerator = new Rfc3289KeyPairGenerator();
keyPairGenerator.Init(2048);
var keyPair = keyPairGenerator.GenerateKeyPair();
// 获取公钥和私钥
var publicKey = keyPair.Public;
var privateKey = keyPair.Private;
// 加密数据
var plainText = Encoding.UTF8.GetBytes("Hello, Bouncy Castle!");
var encryptor = PublicKeyEncryption.CreateEncryptor(publicKey);
var cipherText = encryptor.Encrypt(plainText, null);
// 解密数据
var decryptor = PrivateKeyDecryption.CreateDecryptor(privateKey);
var decryptedText = decryptor.Decrypt(cipherText);
Console.WriteLine("Original text: " + Encoding.UTF8.GetString(plainText));
Console.WriteLine("Encrypted text: " + BitConverter.ToString(cipherText).Replace("-", ""));
Console.WriteLine("Decrypted text: " + Encoding.UTF8.GetString(decryptedText));
这个示例展示了如何使用 Bouncy Castle 生成 RSA 密钥对,加密和解密字符串。你可以根据需要使用其他加密算法和密码学功能。更多关于 Bouncy Castle 的用法和示例,请参考官方文档:Bouncy Castle Documentation。