12.07.2015 Views

Август - Xakep Online

Август - Xakep Online

Август - Xakep Online

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!