Пример потребности для Шифрования файлов BouncyCastle PGP в C#

Я пытаюсь зашифровать файлы с помощью своего закрытого ключа (в формате ASCII) и любой другой открытый ключ (также в формате ASCII). Библиотека BouncyCastle похожа на корректную вещь использовать, но я не могу найти документацию для C#. Мог любой помогать мне с примером.Спасибо.

6
задан Daniel Brink 23 April 2010 в 05:57
поделиться

1 ответ

Вот некоторый код из примера 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();
        }
    }
14
ответ дан 8 December 2019 в 17:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: