<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

ZLib

static class ZLib
using System.IO; using System.IO.Compression; namespace Org.BouncyCastle.Utilities.IO.Compression { internal static class ZLib { internal static Stream CompressOutput(Stream stream, int zlibCompressionLevel, bool leaveOpen = false) { return new ZLibStream(stream, GetCompressionLevel(zlibCompressionLevel), leaveOpen); } internal static Stream DecompressInput(Stream stream, bool leaveOpen = false) { return new ZLibStream(stream, CompressionMode.Decompress, leaveOpen); } internal static CompressionLevel GetCompressionLevel(int zlibCompressionLevel) { switch (zlibCompressionLevel) { case 0: return CompressionLevel.NoCompression; case 1: case 2: case 3: return CompressionLevel.Fastest; case 7: case 8: case 9: return CompressionLevel.SmallestSize; default: return CompressionLevel.Optimal; } } } }