Цитата:
Сообщение от Страдалецъ
Вот не нравятся мне такие решения. А если надо 3 или 12 символов проверять? Весь код переписывать на 12 циклов? Может так интереснее будет?
Код:
Const
CharSet: String = 'abcdefghijklmnopqrstuvxwz';
procedure PassGen(Pass: String; Depth: Integer);
Var
i: Integer;
begin
for i := 1 to Length(CharSet)
do begin
Pass[Depth] := CharSet[i];
if Depth < Length(Pass)
then PassGen(Pass, Depth + 1)
else Memo1.Lines.Add(Pass);
end;
end;
begin
PassGen('123456', 1);
end;
|
Спасибо за код , если можно поясните принцип работы . А на счет ждать : для 9-значного " пароля " время перебора составит примерно 32 года , для 12-значного около 1 505 615 лет ( это если 36 символов : Англ.буквы одного регистра и цифры ) .