/// <summary> /// Compress the data into a single byte array /// </summary> /// <param name="data">Data to compress</param> /// <param name="flags">Which parts of the data to include</param> /// <returns>Byte array of compressed data</returns> public byte[] Compress(IData data, CryptoCompressionFlags flags) { var d = (CryptoData)data; var _data = d.data; var key = d.key; var iv = d.iv; if ((flags & CryptoCompressionFlags.All) != CryptoCompressionFlags.All) { if ((flags & CryptoCompressionFlags.Data) != CryptoCompressionFlags.Data) { _data = null; } if ((flags & CryptoCompressionFlags.IV) != CryptoCompressionFlags.IV) { iv = null; } if ((flags & CryptoCompressionFlags.Key) != CryptoCompressionFlags.Key) { key = null; } } return(Compress(d.scope, _data, key, iv)); }
public Crypto(Settings.EncryptionScope scope, CryptoCompressionFlags flags, byte[] key) { this.scope = scope; this.flags = flags; this.key = key; }
public Crypto() { this.scope = Settings.EncryptionScope.CurrentUser; this.flags = CryptoCompressionFlags.All; }