public static void WriteArchiveEncryption(this BinaryWriter writer, IArchiveEncryption encryption)
        {
            if (encryption == null || encryption.Mode == ArchiveEncryptionMode.None)
            {
                writer.Write((byte)ArchiveEncryptionMode.None);
                return;
            }

            writer.Write((byte)encryption.Mode);
            encryption.SerializeData(writer);
        }
        public static byte[] ToBytes(this IArchiveEncryption encryption)
        {
            if (encryption == null || encryption.Mode == ArchiveEncryptionMode.None)
            {
                return(Uncompressed);
            }

            using (var stream = new MemoryStream())
            {
                using (var writer = new BinaryWriter(stream))
                {
                    WriteArchiveEncryption(writer, encryption);
                }
                return(stream.ToArray());
            }
        }
Example #3
0
 public Archive(MerkleTree tree, string name, BigInteger size, Timestamp time, IArchiveEncryption encryption, List <int> missingBlocks)
 {
     this.MerkleTree     = tree;
     this.Name           = name;
     this.Size           = size;
     this.Time           = time;
     this.Encryption     = encryption;
     this._missingBlocks = missingBlocks;
 }