Зашифровал и забыл (+5 в репу) Зашифровал какую то фразу простейшим ксором на одно и то же число.... пробелы между словами удалил..... помню там было одно слово 'просто' .... а не фразу и не число не помню фраза Mahkqopousnqopsopwrko кто могет???
так 8))))))))) попроще но приз тот же +5 зашифровал снова фразу XOR НА ЧИСЛО но не удалял пробелы никакиф слоф не знаю фраза: lef|(ен(жълимукиб(хъы(зыщъф(мшылан(зжмыдицъ
Решал, решал, какая то хня получилось: Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { string key, text, longkey, result; char[] text2, longkey2; char toto; longkey = result = ""; Console.WriteLine("Enter the key: "); key = Console.ReadLine(); Console.WriteLine("Enter the text: "); text = Console.ReadLine(); for (int i = 0; i < (text.Length / key.Length); i++) longkey += key; longkey2 = longkey.ToCharArray(); text2 = text.ToCharArray(); for (int i = 0; i < longkey2.Length; i++) Console.Write(longkey2[i]); Console.WriteLine(); for (int i = 0; i < text2.Length; i++) Console.Write(text2[i]); for (int i = 1; i < (text.Length - 1); i++) { toto = Convert.ToChar((int)text2[i] ^ (int)longkey2[i]); result += Convert.ToString(toto); } Console.WriteLine(result); } } }
Смотри, на выводе у меня получается какая то хня. C# с KOI8-R не могу заставить работать.... т.е. вот результат кодирования: ????Ў?Ў??Ў????Ў???? Сейчас немного переписал: Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int f = 0 ; string key, text, longkey, result; char[] text2, longkey2; char toto; longkey = result = ""; Console.WriteLine("Enter the key: "); key = Console.ReadLine(); Console.WriteLine("Enter the text: "); text = Console.ReadLine(); key = "Mahkqopousnqopsopwrko"; for (int i = 0; i < (text.Length / key.Length); i++) longkey += key; longkey2 = longkey.ToCharArray(); text2 = text.ToCharArray(); for (int i = 1; i < (text.Length - 1); i++) { f += (int)text2[i] ^ (int)longkey2[i]; toto = Convert.ToChar((int)text2[i] ^ (int)longkey2[i]); result += Convert.ToString(toto); } Console.WriteLine(result); Console.WriteLine(f); } } } Получилось: 20675 Об этом числе шла речь в первом примере?
нет кодировать числом нужно от 1-255 .... иначе смысл теряется для посимвольного! 8))) ты усложнил задачу .... задача поддается полному автоматическому перебору! Code: unsigned char str[1000]; unsigned char obrazets[50]; unsigned char rezult[1000]; int i,j,l,ex; strcpy((char *)str,"Mahkqopousnqopsopwrko"); strcpy((char *)obrazets,"просто"); for(i=0;*(str+i)!=0;i++) for(j=1;j<256;j++) { for(l=0,ex=0;*(obrazets+l)!=0 && ex==0;l++) if(((char )*(str+i+l)^j)!=*(obrazets+l)) ex=1; if(ex==0) { for(l=0;l<strlen(str);l++) *(rezult+l)=*(str+l)^j; *(rezult+l)=0; printf("%s",rez); } } вторую можно тоже автоматизировать .... зная что пробелы разбивают фразу на слова.... которые даже после XOR остаются различимыми! Соответственно с ПРЕДПОЛОЖЕНИЕМ 8))) либо с аппаратом предположения... 8)))
Вторые плюсеги умчались..... ...кстати счас обалдел.... оказываются дрова к логитех вебкамере свалили мой VC 8))))) линковка просто впадала в ступор!!! .... LOGITECH MUST DIE!!!!!!!!!!!!!!!!!!!
и так 3-я задача будет 2раза по +5 в репу.... решаем 2-ю !!! +5 за 2-ю на дороге не валяются!!! Или пока валяются.... хз! так чуть ниже РЫБУ ЗАВОРАЧИВАЛИ..... господа сразу пропускаем ....