Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2012, 14:34   #1
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
Восклицание программа на паскале

Есть программа на языке Pascal. Её суть - перебор паролей. Мне нужно разобраться в её алгоритме, кроме того, как забить туда текущий пароль (прямо в код или с консоли можно ввести) и перебирать пароли по заданнаму в программе алфавиту до тех пор, пока не подберётся правильный пароль, т.е. этот текущий, упомянутый выше.

И ещё хотелось бы узнать про функции измерения времени или считывания системного времени. Дело в том, что мне также нужно измерить в программе время подбора пароля. Я знаю как считать Real Time Clock через оператор Port, но может есть какая-нибудь ещё функция?

Правда, после компиляции и после ввода длины пароля, программа выдаёт какую-то конкретную строку значений, непонятно, окуда она берётся...
Код:
program bruter_modern;
uses crt;
const
s='1234567890qwertyuiopasdfghjklzxcvbnm!@#$%^&*()_+|-=\/.,:;'; {57}
n=11;
var
   m:array[1..n-1] of shortint;
   l,i:byte;
   t,j:longint;
   ss:string;
   f:text;
begin
   clrscr;
   write('Dline->');
   readln(l);
   t:=0; j:=0; ss:='';
   m[1]:=-1;
   str(j,ss);
   assign(f,'file'+ss+'.txt');
   rewrite(f);
   if l>10 then l:=10;
   writeln('poehali');
      while m[l+1]=0 do begin
         m[1]:=m[1]+1;
         t:=t+1;
         for i:=1 to l do
            if m[i]>56 then begin
               m[i]:=m[i]-57;
               m[i+1]:=m[i+1]+1;
            end;
         if t>1000000 then begin
            t:=0;
            j:=j+1;
            writeln('Kombinaciy->',j,'*',1000000);
            str(j,ss);
            close(f);
            assign(f,'file'+ss+'.txt');
            rewrite(f);
         end else begin
            for i:=1 to l do
               write(f,copy(s,m[i]+1,1));
            writeln(f);
         end;
      end;
   close(f);
   if j=0 then writeln('Kombinaciy->',t);
   writeln('Rabota sdelana');
   readkey;
end.
From Stilet: Оформил. В следующий раз тема будет удалена

Последний раз редактировалось NightVamp; 19.02.2012 в 16:43. Причина: опечатка
NightVamp вне форума Ответить с цитированием
Старый 19.02.2012, 14:52   #2
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

На неправильно оформленный код и опечатки никто не ответит.

ЧИТАЙ ПРАВИЛА ФОРУМА

Последний раз редактировалось Stilet; 19.02.2012 в 15:34.
hon вне форума Ответить с цитированием
Старый 19.02.2012, 16:41   #3
NightVamp
Пользователь
 
Регистрация: 06.02.2012
Сообщений: 12
По умолчанию

Stilet, спасибо. Забыла заключить программу в теги
hon, по поводу оформления кода - stilet исправил, а опечатку я всего одну нашла - в слове "считывания". Я конечно исправлю, однако не думаю, что те кто хотят помочь, не смогли бы этого сделать из-за одной буквы. Сколько раз встречала темы с кучей опечаток, и всё-равно людям прекрасно помогали...
NightVamp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа в паскале иван77 Паскаль, Turbo Pascal, PascalABC.NET 10 26.01.2012 21:00
программа в Паскале Нютка Помощь студентам 3 08.10.2010 00:39
программа в паскале denis2010 Помощь студентам 3 21.01.2010 08:59
Программа в паскале Krjak Помощь студентам 2 15.10.2008 21:56