public void EncodingTest() { // Base information VigenereCipher classObject = new VigenereCipher("јЅ¬√ƒ≈®∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёя"); string codePhrase = "скорпион"; // Single word decryption test (without characters) string firstDecodedStringWithOneWord = "ѕоздравл¤ю"; string expectedStringAfterFirstEncoding = "Ѕщцфаирщри"; var result = classObject.Encrypt(firstDecodedStringWithOneWord, codePhrase); Assert.AreEqual(result, expectedStringAfterFirstEncoding, $"Test 1 (one word): Encryption is incorrect\n\nExpected value: {expectedStringAfterFirstEncoding}\nLenth of text: {expectedStringAfterFirstEncoding.Length}\n\nReturned value: {result}\nLenth of text: {result.Length}"); var resultWithUpperPhrase = classObject.Encrypt(firstDecodedStringWithOneWord, codePhrase.ToUpper()); Assert.AreEqual(resultWithUpperPhrase, expectedStringAfterFirstEncoding, $"Uppercase translation caused an error in test 1 (with one word)\n\nExpected value: {expectedStringAfterFirstEncoding}\nLenth of text: {expectedStringAfterFirstEncoding.Length}\n\nReturned value: {resultWithUpperPhrase}\nLenth of text: {resultWithUpperPhrase.Length}"); // Single string decryption test with characters ',' '!' ' ' string secondDecodedStringWithCharacters = "ѕоздравл¤ю, ты получил исходный текст!!! "; string expectedStringAfterSecondEncoding = "Ѕщцфаирщри, бл ¤чъбиуъ щбюэс¤Єш гфуаа!!! "; result = classObject.Encrypt(secondDecodedStringWithCharacters, codePhrase); Assert.AreEqual(result, expectedStringAfterSecondEncoding, $"Test 2 (string with characters): Encryption is incorrect\n\nExpected value: {expectedStringAfterSecondEncoding}\nLenth of text: {expectedStringAfterSecondEncoding.Length}\n\nReturned value: {result}\nLenth of text: {result.Length}"); resultWithUpperPhrase = classObject.Encrypt(secondDecodedStringWithCharacters, codePhrase.ToUpper()); Assert.AreEqual(resultWithUpperPhrase, expectedStringAfterSecondEncoding, $"Uppercase translation caused an error in test 2 (string with characters)\n\nExpected value: {expectedStringAfterSecondEncoding}\nLenth of text: {expectedStringAfterSecondEncoding.Length}\n\nReturned value: {resultWithUpperPhrase}\nLenth of text: {resultWithUpperPhrase.Length}"); }
public override DecodedMessage Create() { ICipher vigenere = new VigenereCipher(); string decoded = vigenere.Decrypt(text, key); return(new VigenereDecodedMessage(decoded)); }
public void DecryptNoKeyTest() { VigenereCipher myCipher = new VigenereCipher(); TestCtor(myCipher); myCipher.Decrypt(Convert.ToBase64String(Encoding.ASCII.GetBytes(TEST_STR))); }
public void EncryptNoKeyTest() { VigenereCipher myCipher = new VigenereCipher(); TestCtor(myCipher); myCipher.Encrypt(TEST_STR); }
void Vigenere(bool encrypt, string inputText, string key) { if (key.Length == 0) { string errorMsg; if (Language == "cs") { errorMsg = "Klíč musí obsahovat alespoň 1 znak."; } else { errorMsg = "Key must contain at least 1 character."; } throw new Exception(errorMsg); } inputText = RemoveCzech(inputText); InputText = inputText; key = NormaliseKey(key); Key = key; if (encrypt) { Output = VigenereCipher.Encrypt(inputText, key); } else { Output = VigenereCipher.Decrypt(inputText, key); } }
static void Main(string[] args) { // TODO: Check that plain_message contains only characters if (args.Length == 0) { PrintUsage("OTP length is required."); return; } int length; if (!int.TryParse(args[0], out length) || length > MAX_OTP_LENGTH) { PrintUsage(String.Format("Length argument is invalid. Max length is {0:N0}.", MAX_OTP_LENGTH)); return; } var otpGenerator = new OtpGenerator(); string otp = otpGenerator.Generate(length); if (args.Length >= 2) { var cipher = new VigenereCipher(); string plainMessage = args[1]; Console.WriteLine("{0} {1}", otp, cipher.Encrypt(otp, plainMessage)); } else { Console.WriteLine(otp); } }
public void Vigener_encrypt() { string[] variables = new string[2]; int i = 0; Console.Clear(); using (StreamReader sr = new StreamReader("Vigener_Dec_Variables.txt")) { string line; while ((line = sr.ReadLine()) != null) { variables[i] = line; i++; } } VigenereCipher vcipher = new VigenereCipher(); Console.WriteLine("Decrypted: " + variables[0]); string encryptedtext = vcipher.Encrypt(variables[1], variables[0]); Console.WriteLine("Encrypted: " + encryptedtext); using (StreamWriter writer = new StreamWriter("Vigener_Enc_Variables.txt")) { writer.WriteLine(encryptedtext); writer.WriteLine(variables[1]); } Console.WriteLine("Press Any Button to Back"); Console.ReadKey(); Vigener_start(); }
/// <summary> /// Шифр Виженера и его варианты /// </summary> public static void VigenereCipherTest() { Console.WriteLine("3. Шифр Виженера и его варианты"); // Простой шифр Виженера Console.WriteLine("\nПростой шифр Виженера"); Console.WriteLine("Пример работы программы"); cryptogram = "N O W I S T H E"; Console.WriteLine("Текст: " + cryptogram); Console.WriteLine("Ключ: " + "GAH"); vigenereCipher = new VigenereCipher("GAH"); encryptText = vigenereCipher.Encrypt(cryptogram); Console.WriteLine("Зашифрованый текст: " + encryptText); decryptText = vigenereCipher.Decrypt(encryptText); Console.WriteLine("Расшифрованый текст: " + decryptText); // Составной шифр Виженера Console.WriteLine("\nСоставной шифр Виженера"); Console.WriteLine("Пример работы программы"); cryptogram = "My name is Dima"; Console.WriteLine("Текст: " + cryptogram); Console.WriteLine("Ключ: " + string.Join(" ", "azaza", "dima")); vigenereCipher = new VigenereCipher("azaza", "dima"); encryptText = vigenereCipher.Encrypt(cryptogram); Console.WriteLine("Зашифрованый текст: " + encryptText); decryptText = vigenereCipher.Decrypt(encryptText); Console.WriteLine("Расшифрованый текст: " + decryptText); // Шифр Виженера с перемешанным один раз алфавитом Console.WriteLine("\nШифр Виженера с перемешанным один раз алфавитом"); // Прямой вариант Console.WriteLine("\nПрямой вариант"); Console.WriteLine("Пример работы программы"); cryptogram = "My name is Dima"; Console.WriteLine("Текст: " + cryptogram); Console.WriteLine("Ключ: " + string.Join(" ", "azaza", "dima")); vigenereCipher = new VigenereCipher(new[] { "azaza", "dima" }, VigenereCipherType.Straight); encryptText = vigenereCipher.Encrypt(cryptogram); Console.WriteLine("Зашифрованый текст: " + encryptText); decryptText = vigenereCipher.Decrypt(encryptText); Console.WriteLine("Расшифрованый текст: " + decryptText); // Обратный вариант Console.WriteLine("\nОбратный вариант"); Console.WriteLine("Пример работы программы"); cryptogram = "My name is Dima"; Console.WriteLine("Текст: " + cryptogram); var k = new[] { "azaza", "dima" }; Console.WriteLine("Ключ: " + string.Join(" ", k)); vigenereCipher = new VigenereCipher(k, VigenereCipherType.Reverse); encryptText = vigenereCipher.Encrypt(cryptogram); Console.WriteLine("Зашифрованый текст: " + encryptText); decryptText = vigenereCipher.Decrypt(encryptText); Console.WriteLine("Расшифрованый текст: " + decryptText); Console.WriteLine("\n"); }
public void EncryptFileTest() { VigenereCipher cipher = new VigenereCipher(); cipher.GenKey(); cipher.Encrypt(BASE_FILE, ENC_FILE); TestFileEnc(); }
public void EncryptStrTest() { VigenereCipher myCipher = new VigenereCipher(); TestCtor(myCipher); myCipher.GenKey(); TestStrEnc(myCipher, myCipher.Encrypt(TEST_STR)); }
public void GenKeyTest() { VigenereCipher masc = new VigenereCipher(); TestCtor(masc); masc.GenKey(); Assert.IsNotNull(masc.GetKey(), "key was not intialized"); }
public void TestLogicWithWrongKey() { var vigenereCipher = new VigenereCipher(); var ex = Assert.Throws <Exception>(() => vigenereCipher.Encrypt(new string[] { "stub" }, "wr0ng")); Assert.Equal("Key can only contain letter", ex.Message); }
static void Main(String[] args) { ILanguageService languageService = new LanguageService(new UnitOfWork("Data Source=I_SER_I;Initial Catalog=Languages;Integrated Security=True")); var language = languageService.GetLanguage(570); VigenereCipher vigenereCipher = new VigenereCipher(language, "пидор"); Console.WriteLine(vigenereCipher.Encrypt("Робокопи")); }
public MainWindow() { InitializeComponent(); DataContext = new VigenereCipherViewModel(); string tmp = VigenereCipher.EncryptMessage("ATTACKATDAWN", "LEMONLEMONLE"); VigenereCipher.DecryptMessage(tmp, "LEMONLEMONLE"); VigenereCipher.test(); }
public void VigenereTestDecode() { string inputData = "Rcmuc h ew rka cmuzgnb"; string keyWord = "click"; string expectedData = "Press f to pay respect"; ICipher userData = new VigenereCipher(); string actualData = userData.Decode(inputData, keyWord); Assert.AreEqual(expectedData, actualData); }
public void EncryptEmptinessTest() { // Arrange VigenereCipher cipher = new VigenereCipher(); // Act - no test // Assert Assert.NotNull(cipher); }
public void VigenereCipherTest() { int time = 100; for (int i = 0; i < time; i++) { var plain = RandomHelper.GetCharList(); var vigenere = new VigenereCipher(RandomHelper.GetVigenereKey()); Assert.AreEqual(plain, vigenere.Decrypt(vigenere.Encrypt(plain))); } }
public void DecipherNullStringExceptionTest() { try { VigenereCipher.Decipher(null, "скорпион"); } catch (Exception e) { Assert.AreEqual(e.Message, "Введите исходный текст"); } }
public void SetKeyTest() { VigenereCipher encryptorOne = new VigenereCipher(); VigenereCipher encryptorTwo = new VigenereCipher(); TestCtor(encryptorOne); TestCtor(encryptorTwo); encryptorTwo.GenKey(); encryptorOne.SetKey(encryptorTwo.GetKey()); CompareKeys(encryptorTwo.GetKey(), encryptorOne.GetKey()); }
public void EncipherEmptyStringExceptionTest() { try { VigenereCipher.Encipher(string.Empty, "скорпион"); } catch (Exception e) { Assert.AreEqual(e.Message, "Введите исходный текст"); } }
public void DecryptStrTest() { VigenereCipher myCipher = new VigenereCipher(); TestCtor(myCipher); myCipher.GenKey(); string encStr = myCipher.Encrypt(TEST_STR); TestStrEnc(myCipher, encStr); TestStrDec(encStr, myCipher.Decrypt(encStr)); }
public void TestEncrypt() { var vigenereCipher = new VigenereCipher(); string[] elements = new string[] { "WORD", "StriNg", "result", "cipher test", "ReSult Test" }; string key = "key"; IEnumerable <string> result = vigenereCipher.Encrypt(elements, key); Assert.Equal(result, new string[] { "GSPN", "CxpsRe", "biqepr", "mmnrip diqd", "BiQepr Diqd" }); }
public void Encrypt_IsCorrect_RusOnly() { //Arrange string expected = "Явкощн оеэт ф сёёрй о гуобих съхсзу мныф бсча"; //Act string result = VigenereCipher.Encrypt("Позови меня с собой я пройду сквозь злые ночи", "ПуГаЧеВа"); //Assert Assert.AreEqual(expected, result); }
public void Decrypt_IsCorrect_AllChars() { //Arrange string expected = "поздравляю, ты получил исходный текст!!! в принципе понять, что тут используется шифр виженера не особо трудно, основная подсказка заключается именно в наличии ключа у этого шифра! в данной задаче особый интерес составляет то, как вы реализуете именно сам процесс расшифровки.теперь дело осталось за малым, доделать программу до логического конца, выполнить все условия задания и опубликовать свою работу! молодец, это были достаточно трудные и интересные два с половиной месяца, но впереди нас ждет еще множество открытий, и я надеюсь общих свершений! от лица компании FirstLineSoftware и университета итмо, я рад поздравить тебя с официальным окончанием наших курсов с# для начинающих! мы хотим пожелать успехов в дальнейшем погружении в мир ит и программирования с использованием стека технологий .Net, море терпения и интересных задач!"; //Act string result = VigenereCipher.Decrypt("бщцфаирщри, бл ячъбиуъ щбюэсяёш гфуаа!!! у ъящэячэц ъэюоык, едщ бдв саэацкшгнбяр гчеа кчфцшубп цу ьгщпя вщвсящ, эвэчрысй юяуъщнщхо шпуъликугбз чъцшья с цощъвчщ ъфмес ю лгюлэ ёъяяр! с моыящш шпмоец щаярдш цяэубфъ аьгэотызуа дщ, щръ кй юцкъщчьуац уыхэцэ ясч юбюяуяг ыовзсгюамщщ.внютвж тхыч эядкъябе цн юкъль, мэсццогл шяьфыоэьь ть эщсщжнашанэ ыюцен, уёюяыцчан мах гъъьуун шпмоыъй ч яяьпщъхэтпык яущм бпйэае! чэьюмуд, оээ скфч саьбрвчёыа эядуцйт ъ уьгфщуяяёу фси а эацэтшцэч юпапёи, ьь уъубфмч ысь хффы ужц чьяцнааущ эгъщйаъф, ч п эиттпьк ярвчг гмубзньцы! щб ьшяо шачюрэсч FirstLineSoftware ц ешчтфщацдпбр шыыь, р ыоф ячцсвкрщве бттй а ядсецсцкюкх эшашёрэсуъ якжще увюгщр в# уфн ысвчюпжзцж! чй ёюычъ бщххыибй еьюхечр п хкъмэншёцч юятщвфцшчщ с хчю ъэ ч аачсюсчыщачрняун в шъюьэжцясиьццч агфуо ацаьяычсцы .Net, чэбф ыуюбпьщо с чыдпяхбцйг щктрж!", "скорпион"); //Assert Assert.AreEqual(expected, result); }
private void DecryptionViginereCipher() { var cipher = new VigenereCipher { Key = KeyTextBox.Text, DifKey = false }; if (!cipher.Error) { PlainTextBox.Text = cipher.Decryption(CipherTextBox.Text); } }
private void EncryptVigenereCipher() { var cipher = new VigenereCipher { Key = KeyTextBox.Text, DifKey = false }; if (!cipher.Error) { CipherTextBox.Text = cipher.Encryption(PlainTextBox.Text); } }
public void VigenereEncryptValidInputWithSpace() { // Arrange VigenereCipher cipher = new VigenereCipher(); string input = "asdf test zqok ASDF asDFZWsadasdDSFertfdvXZ"; string expected = "kgwp hxch sacd KGWP olNTSGgtnolnRLPskdtwfLS"; // Act string actual = cipher.Encrypt(input); // Assert Assert.AreEqual(expected, actual); }
static void Main(string[] args) { //передаем в конструктор класса буквы русского алфавита var cipher = new VigenereCipher("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"); var inputText = "Шифрование".ToUpper(); var password = "******".ToUpper(); var encryptedText = cipher.Encrypt(inputText, password); Console.WriteLine("Зашифрованное сообщение: {0}", encryptedText); Console.WriteLine("Расшифрованное сообщение: {0}", cipher.Decrypt(encryptedText, password)); Console.ReadLine(); }
public void VigenereDecryptValidInput() { // Arrange VigenereCipher cipher = new VigenereCipher(); string input = "ZILJSD"; string expected = "PUSZEK"; // Act string actual = cipher.Decrypt(input); // Assert Assert.AreEqual(expected, actual); }
public void EncryptRus_string_key_encryptStringReturned() { string x = "поздравляю, ты получил исходный текст!!!"; string y = "скорпион"; string expected = "бщцфаирщри, бл ячъбиуъ щбюэсяёш гфуаа!!!"; //act VigenereCipher a = new VigenereCipher(true); string actual = a.Encrypt(x, y); //assert Assert.AreEqual(expected, actual); }
public void VigenereDecryptValidInputWithSpace() { // Arrange VigenereCipher cipher = new VigenereCipher(); string input = "QWErTy aSdfgHujIIkolP Zx CVCVBnnmMM"; string expected = "GILhFf qEkvsOkvPYwvbB Gn OCSHIdztCY"; // Act string actual = cipher.Decrypt(input); // Assert Assert.AreEqual(expected, actual); }
public void SetUpTests() { cipher = new VigenereCipher(); }