我正在尝试使用我的私钥(ascii 格式)和任何其他公钥(也是 ascii 格式)来加密文件。 BouncyCaSTLe 库看起来是正确的使用方法,但我找不到 C# 的文档。谁能帮我举个例子。谢谢。
最佳答案
这是 BouncyCaSTLe 示例中的一些代码。您应该获取源代码并查看单元测试,它们包含示例。我发现 Java 资源也很有用。该示例可以在 crypto\test\src\openpgp\examples\PbeFileProcessor.cs 下的源代码中找到
private static void EncryptFile(
Stream outputStream,
string fileName,
char[] passPhrase,
bool armor,
bool withIntegrityCheck)
{
if (armor)
{
outputStream = new ArmoredOutputStream(outputStream);
}
MemoryStream bOut = new MemoryStream();
PgpCompressedDataGenerator comData = new PgpCompressedDataGenerator(
CompressionAlgorithmTag.Zip);
PgpUtilities.WriteFileToLiteralData(
comData.Open(bOut),
PgpLiteralData.Binary,
new FileInfo(fileName));
comData.Close();
byte[] bytes = bOut.ToArray();
PgpEncryptedDataGenerator cPk = new PgpEncryptedDataGenerator(
SymmetricKeyAlgorithmTag.Cast5, withIntegrityCheck, new SecureRandom());
cPk.AddMethod(passPhrase);
Stream cOut = cPk.Open(outputStream, bytes.Length);
cOut.Write(bytes, 0, bytes.Length);
cOut.Close();
if (armor)
{
outputStream.Close();
}
}
关于c# - 需要使用 C# 进行 BouncyCaSTLe PGP 文件加密的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2693769/