Tôi đang cố mã hóa các tệp bằng khóa riêng của tôi (theo định dạng ascii) và bất kỳ khóa công khai nào khác (cũng có định dạng ascii). Thư viện BouncyCastle trông giống như điều đúng để sử dụng, nhưng tôi không thể tìm thấy tài liệu cho C#. Bất cứ ai có thể vui lòng giúp tôi với một ví dụ. Cảm ơn bạn.Ví dụ về mã hóa tệp BouncyCastle PGP trong C#
6
A
Trả lời
12
Đây là một số mã trong ví dụ BouncyCastle. Bạn nên lấy mã nguồn và tìm trong các bài kiểm tra đơn vị, chúng có chứa các ví dụ. Tôi đã thấy rằng các tài nguyên Java cũng hữu ích. Ví dụ này có thể được tìm thấy trong nguồn dưới 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();
}
}
+1
++ Cảm ơn. Tôi đã gặp sự cố khi tìm các ví dụ. – John
Các vấn đề liên quan
- 1. Mã hóa và giải mã PgP bằng BouncyCastle C#
- 2. C# Ví dụ về mã hóa AES256 bằng System.Security.Cryptography.Aes
- 3. Cách mã hóa chuỗi/luồng với pgp bouncycastle mà không bắt đầu bằng một tệp
- 4. PGP Mã hóa và Giải mã
- 5. Ví dụ mã hóa JavaScript
- 6. Lưu khóa PGP (công khai) trong kho khóa java - Bouncycastle
- 7. Tìm kiếm mã ví dụ về âm nhạc tiến hóa
- 8. Python và PGP/mã hóa
- 9. Ví dụ về Liên minh trong C
- 10. Cách giải mã tệp PGP được mã hóa bằng Ruby gpgme
- 11. Mã hóa PGP và giải mã với Java
- 12. Ví dụ về Winsock?
- 13. Ví dụ về D.ccurl
- 14. Ký và xác minh RSA với C#, BouncyCastle và khóa RSA đã nhập - Ví dụ về Python hoạt động và mẫu C# mã không hoạt động bên trong
- 15. Ví dụ và mẹo về Crypto API của Window C/C++ Ví dụ và mẹo
- 16. HDF5 Ví dụ mã
- 17. Ví dụ về mã hóa chống lại API PayPal trong .NET 2.0+?
- 18. Mã C gọi mã lắp ráp (ví dụ: strlen được tối ưu hóa) như thế nào?
- 19. Mã hóa BouncyCastle RSA cho BlackBerry
- 20. Ví dụ về "hiện đại C++" trong hành động?
- 21. Ví dụ về thử nghiệm đơn vị trong C#?
- 22. CreateProcessWithTokenW - Ví dụ về cách sử dụng trong C#
- 23. Ví dụ về JGraphT
- 24. Ví dụ về mã hóa một tệp xml trong Java bằng cách sử dụng lâu đài bouncy
- 25. Ví dụ về MultiSelectListPreference
- 26. Ví dụ về pysmb
- 27. Ví dụ về các ví dụ điển hình
- 28. Ví dụ về AES sử dụng Crypto ++
- 29. Cài đặt danh bạ (ví dụ: bộ lọc chỉ liên hệ) Ví dụ về mã Android
- 30. ví dụ về pub/sub zeromq với C# winform
có thể tôi không hiểu PGP chính xác, khi bạn mã hóa tệp, bạn chỉ sử dụng công khai của bên thứ ba Chìa khóa? Không có phần nào của khóa riêng của bạn được sử dụng trong quá trình, đúng không? Nếu vậy, tôi cần thay đổi câu hỏi của mình thành "Ví dụ: cách mã hóa bằng khóa công khai của bên thứ 3 và ký bằng khóa riêng" –
Nó như vậy với bất kỳ mật mã không đối xứng nào - bạn sử dụng khóa công khai để mã hóa và xác minh chữ ký. được sử dụng để ký và giải mã. –