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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.10.2008, 17:10   #1
XATAB
Пользователь
 
Аватар для XATAB
 
Регистрация: 30.01.2007
Сообщений: 49
По умолчанию подбор пароля

задача такова:
дана строка символов, из которых может состоять пароль. нужно перебрать все возможные комбинации по порядку. для примера есть строка alph:='0123456789', сказанно что максимальная длина пароля 3.
0
1
2
.
9
00
01
..
99
000
111
...
999
Как организовать такое? заранее спасибо.
XATAB вне форума Ответить с цитированием
Старый 06.10.2008, 18:44   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

const alph:='0123456789',
var res: string[2];
for j1:=1 to length(alph) do
begin
res[1]:=alph[j1];
for j2:=1 to length(alph) do
res[2]:=alph[j2];
end;
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 06.10.2008, 19:19   #3
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

создаем список символов:
Код:
var i:integer;
begin
for i:=0 to 255 do
 ch[i]:=chr(i);
создаем сисок всех возможных паролей методом перебора значений:
Код:
function MakePass(s: string; CurLen, MaxLen: integer): string;
var i:integer;
begin
for i:=32 to 255 do
 begin
  s[CurLen]:=ch[i];
  if CurLen<MaxLen
   then MakePass(s, CurLen+1, MaxLen)
   else Form1.Memo1.Lines.Add(s);
  Sleep(1);
  if Stop then break;
 end;
Result:=s;
end;
для генерацыи пароля длинною 3 символа вызыват так:
Код:
s:='123';
MakePass(s, 1, length(s));
Memo1 - любой приёмник строк..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 06.10.2008, 20:21   #4
XATAB
Пользователь
 
Аватар для XATAB
 
Регистрация: 30.01.2007
Сообщений: 49
По умолчанию

спасибо всем, буду пробовать

Код:
 if Stop then break;
ругается на слове стоп, и еще ch - это тип string?

Последний раз редактировалось XATAB; 06.10.2008 в 20:34.
XATAB вне форума Ответить с цитированием
Старый 06.10.2008, 23:06   #5
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Код:
Stop :Boolean; //чтобы прерывать цыкл, присвавай True, чтобы остановить
ch :String; // или "ch :Array[0..255] of char;"
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Взлом пароля Windows mager Безопасность, Шифрование 25 07.03.2009 22:22
подбор пароля L_M Безопасность, Шифрование 0 24.09.2008 21:43
hook - перехват пароля dimonbest Общие вопросы Delphi 4 15.05.2008 14:24
подбор пароля kixaka Помощь студентам 4 19.04.2008 08:45
Считывание пароля Terran Общие вопросы Delphi 1 22.03.2008 20:09