Bouncy Castle 是一个流行的加密库,提供了许多加密算法和密码学功能
- 首先,确保已经安装了 Bouncy Castle 的 NuGet 包。如果没有,请在项目中运行以下命令:
Install-Package BouncyCastle
- 在代码中引用 Bouncy Castle 命名空间:
using BouncyCastle; using BouncyCastle.Crypto; using BouncyCastle.Crypto.Parameters; using BouncyCastle.Math; using BouncyCastle.Security;
- 使用 Bouncy Castle 进行加密和解密操作。以下是一个使用 RSA 算法的示例:
// 生成 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。