public FrogEncryptTransformVM(string filePath, string encryptFilePath, byte[] key,
                                      FROGProvider.Mode mode, byte[] iv, bool isDeleteAfter) : base(isDeleteAfter, CryptoDirection.Encrypt)
        {
            CryptoName     = "FROG";
            SourceFilePath = filePath;
            DestFilePath   = encryptFilePath;

            FROGProvider provider = new FROGProvider(key);

            Start(provider.Create(CryptoDirection.Encrypt, mode, iv));
        }
        public void SetUp()
        {
            Random random = new Random(144);

            _key = new byte[25];
            random.NextBytes(_key);

            _iv = new byte[FROGProvider.BlockSize];
            random.NextBytes(_iv);

            _provider = new FROGProvider(_key);
        }
        public FrogEncryptTransformVM(string filePath, string encryptFilePath, byte[] key,
                                      bool isDeleteAfter, bool multithread = false) : base(isDeleteAfter, CryptoDirection.Encrypt)
        {
            CryptoName     = "FROG";
            SourceFilePath = filePath;
            DestFilePath   = encryptFilePath;

            FROGProvider provider = new FROGProvider(key);

            if (multithread)
            {
                StartMultithread(provider.CreateNice(CryptoDirection.Encrypt));
            }
            else
            {
                Start(provider.Create(CryptoDirection.Encrypt));
            }
        }