2
我使用Bouncy Castles來壓縮和加密一些數據。該壓縮方法失敗並出現空引用異常。下面的方法進行壓縮:PGP壓縮和加密
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();
}
}
}
}
以下行導致大量引用異常:
pgpLiteralDataGenerator.Open(compressedStream, PgpLiteralData.Binary, null, data.Length, DateTime.UtcNow))
但是我不知道爲什麼 - 如果我離開了壓縮,加密部分按預期工作。我需要另一個庫進行壓縮,
馬克