Пример #1
0
        private void DecryptButton_Click(object sender, RoutedEventArgs e)
        {
            Decrypter decrypter;

            this.ClearText();

            if (VigenereRadioButton.IsChecked == true)
            {
                if (VigenereInputKey.Text != VigenereInputKey.Text.ToLower())
                {
                    this.Error("Choose a lowercase key.");
                }
                else if (VigenereInputKey.Text == string.Empty)
                {
                    this.Error("Enter a key.");
                }
                else
                {
                    decrypter = new VigenereDecrypter(currentFile, VigenereInputKey.Text);
                    decrypter.ProgressChanged    += DecryptUpdateHandler;
                    decrypter.RunWorkerCompleted += DecryptCompletionHandler;
                    decrypter.RunWorkerAsync();
                }
            }
            else
            {
                this.Error("Select a decryption method.");
            }
        }
Пример #2
0
        public void TestSample1()
        {
            var c = new VigenereDecrypter("ВЙИИОЗР")
            {
                Key = "АБВ"
            };

            Assert.That(c.Text, Is.EqualTo("ВИЖИНЕР"));
        }
Пример #3
0
        public void TestVar14()
        {
            var v14 = Variants.GetVariantByNumber(14);
            var v   = new VigenereDecrypter(v14);

            var an = new VigenereAnalysis(v14);
            var pm = an.PossibleMus();

            an.SuggestMu(pm.First());
            an.SuggestMostOccuring(0, 'О');
            an.SuggestMostOccuring(1, 'О');
            an.SuggestMostOccuring(2, 'О');
            an.SuggestMostOccuring(3, 'О');
            an.SuggestMostOccuring(4, 'О');
            an.SuggestMostOccuring(5, 'О');

            Assert.That(an.VigenereDecrypter.Key, Is.EqualTo("КРУЖКА"));

            Assert.That(an.VigenereDecrypter.Text?.Split(" ").Skip(1).First(), Is.EqualTo("ПОЧИТАЮ"));
        }