ÃÂòóуÑÂт - Xakep Online
ÃÂòóуÑÂт - Xakep Online
ÃÂòóуÑÂт - Xakep Online
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
codingСхожесть букв«Съешь еще этих мягких французских булок...»значит, если это текст, то справа или/и слева должны стоять тоже английскиебуквы. Проблема решена: если рядом с найденным символомсправа или слева будут стоять тоже английские буквы, то это текст идешифровать его не надо. Не очень эффективно, но зато поможет, еслив тексте есть небольшие английские слова. Посмотрим на функцию,решающую все эти проблемы и выдирающую секретный текст:private string GetSecretSymbols(string text){// для проверки, английский этот текст или всего лишьсимволbool beng=false;//английский алфавитstring seng = "qwertyuiopasdfghjklzxcvbnm";//строка, куда будут помещены секретные символыstring secrets="";// перебираем все символы переданного нам текстаfor (int i = 0; i < text.Length-1; i++){switch (text[i]){//и если это один из наших замененных вариантовcase ‘A’:case ‘B’:case ‘C’:case ‘E’:case ‘H’:case ‘M’:case ‘O’:case ‘P’:case ‘T’:case ‘X’:case ‘a’:case ‘c’:case ‘e’:case ‘o’:case ‘p’:case ‘x’:// проверяем текст на англоязычностьfor (int j = 0; j < seng.Length; j++){if ((text[i — 1].ToString().ToUpper() ==seng[j].ToString().ToUpper())|| (text[i + 1].ToString().ToUpper() ==seng[j].ToString().ToUpper()))beng = true;}if (!beng) //если текст не английский{secrets += text[i + 1];}beng = false;break;}}return secrets; //возвращаем секретный текст}Конец игры, БондПодытожим, что же у нас получилось. А получилось у нас то, что нам ихотелось, — прога, которая неплохо скрывает текст в файлах формата*.txt. Да, при слишком большом объеме скрываемого сообщения онане подойдет. Зато, если переделать алгоритм под конкретные нужды,можно добиться неплохой производительности и результативности, ато, что софтина не изменяет размер модифицированного файла, — этобольшой плюс. Не нужно быть гением, чтобы догадаться, что можноскрыть больше текста, если исходный текст был набран в верхнемрегистре. z110xàêåð 08 /104/ 07