Esempio n. 1
0
            //private bool isDisposed;
            //protected MyZipArchive archive;
            //private MyArchiveFileHeader header;
            //private bool headerLoaded;
            //private int rawHeaderLength;

            //protected int headerOffset;

            //public bool CanRead { get; private set; }

            public Reader(MyZipArchive archive) : base(archive)
            {
                //if (archive == null)
                //    throw new ArgumentNullException();

                //this.archive = archive;
            }
Esempio n. 2
0
            public HeaderReader(MyZipArchive archive)
            {
                if (archive == null)
                {
                    throw new ArgumentNullException();
                }

                this.archive = archive;
            }
            public EncryptionReader(MyZipArchive archive, string key) : base(archive)
            {
                var rawKey = UTF8Encoding.UTF8.GetBytes(key);
                var key2   = new Rfc2898DeriveBytes(key, rawKey, 20);

                TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();

                tdes.Key     = key2.GetBytes(tdes.KeySize / 8);
                tdes.Mode    = CipherMode.ECB;
                tdes.Padding = PaddingMode.PKCS7;

                crypto = tdes.CreateDecryptor();
            }
Esempio n. 4
0
            public Writer(MyZipArchive archive, bool overwrite)
            {
                if (archive == null)
                {
                    throw new ArgumentNullException();
                }

                this.archive   = archive;
                state          = writerState.Waiting;
                this.overwrite = overwrite;

                //if (!overwrite)
                //    tryLoadFile();
                //else
                //    blocks = new DataBlockCollection();
            }
Esempio n. 5
0
        //public static bool TryGetReader(MyZipArchive archive, out Reader reader)
        //{

        //}

        public static Writer GetWriter(MyZipArchive archive, bool overwrite, string encryptionKey = "")
        {
            int basicType;

            using (var reader = new HeaderReader(archive))
            {
                basicType = reader.GetArchiveType().BasicType;
            }

            switch (basicType)
            {
            case 0:
                return(new Writer(archive, overwrite));

            case 1:
                return(new CompressionWriter(archive, overwrite));

            case 2:
                return(new EncryptionWriter(archive, overwrite, encryptionKey));

            default:
                return(null);
            }
        }
 public CompressionReader(MyZipArchive archive) : base(archive)
 {
 }
Esempio n. 7
0
 public CompressionWriter(MyZipArchive archive, bool overwrite) : base(archive, overwrite)
 {
 }