![]() |
Люди, подскажите алгоритм написания декодера.
Текст зашифрован простейшим образом, (вместо "A"-->"M" ну что то вроде того). Это вообще выполнимо без создания базы словаря? |
wolland
Это нетрудно сделать с помощью автозамены в скрипте. Вот, например, в Perl'e "алгоритм" перевода из одной кодировки в другую cледующий: $vl=~tr/\200-\257\340-\361/\300-\377\250\270/; $vl - исходная строка; между первым и вторым "/" (1) находятся коды символов исходной кодировки, между вторым и третьим "/" (2) - кодировка, в которую надо перегнать строку. В результате $vl меняет свою кодировку. Для того, чтобы закодировать строку надо в (1) перечислить символы, подлежащие кодированию, а в (2), соответственно, символы, в которые надо перекодировать. То есть: Код:
my $vl='qwertyu'; Код:
$vl=asdfghj |
Нехороший метод защиты текста. При желании просто написать прогу, которая будет в цикле перебирать код (то бишь последовательность этих самых замен "А"-->"Б", потом "А"-->"В" и так далее) и проверять по какому нибудь словарю осмысленный текст. Достаточно например декодировать первые 100 байт и код будет раскрыт довольно быстро. Ничуть не сложнее, но куда эффективнее использовать старое доброе логическое ИЛИ, при этом в качестве ключа использовать любой файл. Прикол вот в чем:
Логическое ИЛИ (сравнение байт и результат) Первый аргумент 0101 Второй 0011 ------ Результат 0110 Потом, если делать обратную операцию, то есть 0011 0110 ------ 0101 исходное значение востанавливаеться. Просто и довольно мощно, никаким перебором код не вскрыть, тем более, если в качестве кода используеться большой файл. Это конечно тоже не идеал, но все же круче чем простая замена символов. Добавлено: wolland Я только что догнал, может наоборот цель прочитать зашифрованный таким образом текст. Впрочем я и на этот вопрос ответил. Добавлено: Цитата:
Совсем необязательно словарь создавать, посмотри словари известных переводчиков, не помню в каком (по моему в сократе) словарь- обычный текстовый файл, при дкодировании проверяй на максимальное совпадение слов. Есть еще не переводчики, а имено словари на CD. Русско-английский например. Он тоже прекрасно подходит. |
Время: 00:20. |
Время: 00:20.
© OSzone.net 2001-