Exemplo n.º 1
0
        /// <summary>
        /// Decompress an encrypted FAES File.
        /// </summary>
        /// <param name="encryptedFile">Encrypted FAES File</param>
        /// <param name="overridePath">Override the read path</param>
        /// <returns>Path of the encrypted, Decompressed file</returns>
        public string DecompressFAESFile(FAES_File encryptedFile, string overridePath = "")
        {
            string fileCompressionMode = FileAES_Utilities.GetCompressionMode(encryptedFile.GetPath());

            Logging.Log(String.Format("Compression Mode: {0}", fileCompressionMode), Severity.DEBUG);

            switch (fileCompressionMode)
            {
            case "LZMA":
                LZMA lzma = new LZMA();
                return(lzma.DecompressFAESFile(encryptedFile, overridePath));

            case "TAR":
                TAR tar = new TAR();
                return(tar.DecompressFAESFile(encryptedFile, overridePath));

            case "ZIP":
                ZIP zip = new ZIP(_compressionLevel);
                return(zip.DecompressFAESFile(encryptedFile, overridePath));

            case "LEGACY":
            case "LEGACYZIP":
            case "LGYZIP":
                LegacyZIP legacyZip = new LegacyZIP();
                return(legacyZip.DecompressFAESFile(encryptedFile, overridePath));

            default:
                throw new NotSupportedException("FAES File was compressed using an unsupported file format.");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Compress an unencrypted FAES File.
        /// </summary>
        /// <param name="unencryptedFile">Unencrypted FAES File</param>
        /// <returns>Path of the unencrypted, compressed file</returns>
        public string CompressFAESFile(FAES_File unencryptedFile)
        {
            switch (_compressionMode)
            {
            case CompressionMode.LZMA:
                LZMA lzma = new LZMA();
                Logging.Log("Compression Mode: LZMA", Severity.DEBUG);
                return(lzma.CompressFAESFile(unencryptedFile));

            case CompressionMode.TAR:
                TAR tar = new TAR();
                Logging.Log("Compression Mode: TAR", Severity.DEBUG);
                return(tar.CompressFAESFile(unencryptedFile));

            case CompressionMode.LGYZIP:
                LegacyZIP legacyZIP = new LegacyZIP();
                Logging.Log("Compression Mode: LEGACYZIP", Severity.DEBUG);
                return(legacyZIP.CompressFAESFile(unencryptedFile));

            default:
            {
                ZIP zip;
                Logging.Log("Compression Mode: ZIP", Severity.DEBUG);

                if (_compressionLevelRaw < 0)
                {
                    Logging.Log(String.Format("Compression Level: {0}", _compressionLevel), Severity.DEBUG);
                    zip = new ZIP(_compressionLevel);
                }
                else
                {
                    Logging.Log(String.Format("Compression Level: {0}", _compressionLevelRaw), Severity.DEBUG);
                    zip = new ZIP(_compressionLevelRaw);
                }
                return(zip.CompressFAESFile(unencryptedFile));
            }
            }
        }