J'utilise des châteaux gonflables pour compresser et crypter certaines données. La méthode compress échoue avec une exception de référence null. La méthode suivante effectue la compression:PGP Compresser et crypter
private byte[] Compress(byte[] data)
{
using (MemoryStream outStream = new MemoryStream())
{
PgpCompressedDataGenerator pgpCompressedDataGenerator = new PgpCompressedDataGenerator(CompressionAlgorithmTag.Zip);
using (Stream compressedStream = pgpCompressedDataGenerator.Open(outStream))
{
PgpLiteralDataGenerator pgpLiteralDataGenerator = new PgpLiteralDataGenerator();
using (Stream literalDataStream = pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow))
{
literalDataStream.Write(data, 0, data.Length);
literalDataStream.Close();
pgpCompressedDataGenerator.Close();
return outStream.ToArray();
}
}
}
}
La ligne suivante provoque l'exception de référence en vrac:
pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow))
Cependant, je ne sais pas pourquoi - si je quitte la compression sur la partie de chiffrement fonctionne comme prévu. Ai-je besoin d'une autre bibliothèque pour effectuer la compression,
Mark