Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Подскажите алгоритм

Ответить
Настройки темы
Подскажите алгоритм

Аватара для wolland

Metallist


Сообщения: 408
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Люди, подскажите алгоритм написания декодера.
Текст зашифрован простейшим образом, (вместо "A"-->"M" ну что то вроде того).
Это вообще выполнимо без создания базы словаря?

-------
Учиться - не мешки ворочить


Отправлено: 21:56, 09-06-2003

 

Старожил


Сообщения: 335
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


wolland
Это нетрудно сделать с помощью автозамены в скрипте. Вот, например, в Perl'e "алгоритм" перевода из одной кодировки в другую cледующий:
$vl=~tr/\200-\257\340-\361/\300-\377\250\270/;
$vl - исходная строка; между первым и вторым "/" (1) находятся коды символов исходной кодировки, между вторым и третьим "/" (2) - кодировка, в которую надо перегнать строку. В результате $vl меняет свою кодировку. Для того, чтобы закодировать строку надо в (1) перечислить символы, подлежащие кодированию, а в (2), соответственно, символы, в которые надо перекодировать.
То есть:
Код: Выделить весь код
my $vl='qwertyu'; 
$vl=~tr/uytrewq/jhgfdsa/; 
print '$vl='."$vl\n";
В результате должна появиться строка:
Код: Выделить весь код
$vl=asdfghj

-------
Спасибо за внимание
Slackware и LFS...


Отправлено: 14:12, 10-06-2003 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

pauluss


Сообщения: n/a

Профиль | Цитировать


Нехороший метод защиты текста. При желании просто написать прогу, которая будет в цикле перебирать код (то бишь последовательность этих самых замен  "А"-->"Б", потом "А"-->"В" и так далее) и проверять по какому нибудь словарю осмысленный текст. Достаточно например декодировать первые 100 байт и код будет раскрыт довольно быстро. Ничуть не сложнее, но куда эффективнее использовать старое доброе логическое ИЛИ, при этом в качестве ключа использовать любой файл. Прикол вот в чем:
Логическое ИЛИ (сравнение байт и результат)
Первый аргумент    0101
Второй                    0011
                               ------
Результат                0110

Потом, если делать обратную операцию, то есть
0011
0110
------
0101  исходное значение востанавливаеться.
Просто и довольно мощно, никаким перебором код не вскрыть, тем более, если в качестве кода используеться большой файл.
Это конечно тоже не идеал, но все же круче чем простая замена символов.

Добавлено:

wolland

Я только что догнал, может наоборот цель прочитать зашифрованный таким образом текст. Впрочем я и на этот вопрос ответил.

Добавлено:

Цитата:
Это вообще выполнимо без создания базы словаря?
Торможу, сразу даже все не прочитал. Бывает, конец дня.

Совсем необязательно словарь создавать, посмотри словари известных переводчиков, не помню в каком (по моему в сократе) словарь- обычный текстовый файл, при дкодировании проверяй на максимальное совпадение слов. Есть еще не переводчики, а имено словари на CD. Русско-английский например. Он тоже прекрасно подходит.

Отправлено: 17:56, 27-06-2003 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Подскажите алгоритм

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Алгоритм запуска ПО p13rr0t Хочу все знать 2 11-05-2007 22:00
Алгоритм pauluss Программирование и базы данных 1 06-10-2006 10:53
алгоритм шахматной программы pauluss Программирование и базы данных 3 15-03-2005 22:44
Алгоритм перебора масива. lehha Программирование и базы данных 2 24-06-2004 08:31
Алгоритм Чуфа noname00.pas Программирование и базы данных 11 21-09-2002 00:48




 
Переход