![]() |
|
|
#31
|
|||
|
|||
|
Цитата:
Спасибо за код , если можно поясните принцип работы . А на счет ждать : для 9-значного " пароля " время перебора составит примерно 32 года , для 12-значного около 1 505 615 лет ( это если 36 символов : Англ.буквы одного регистра и цифры ) . |
|
#32
|
||||
|
||||
|
Принцип очень простой. Используется рекурсия, т.е. вызов процедуры самой-себя. Для анализа работы рекомендую задать для CharSet значение '01' и вызвать процедуру так:
PassGen('00', 1); и в режиме отладки пошагово посмотреть что происходит. |
| Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
UchusNaDelhi7 (18.03.2012)
| ||
|
#33
|
||||
|
||||
|
Если тупо лоб в лоб, то
Код:
procedure TForm1.Button1Click(Sender: TObject);
var s1,s2,s3,s4,s5,s6,s7,s8: char;
begin
for s1:='a' to 'z' do
for s2:='a' to 'z' do
for s3:='a' to 'z' do
for s4:='a' to 'z' do
for s5:='a' to 'z' do
for s6:='a' to 'z' do
for s7:='a' to 'z' do
for s8:='a' to 'z' do
Memo1.Lines.Add(S1+S2+S3+S4+S5+S6+S7+S8);
end;А реально имеетсмысл смотреть в сторону рекурсии Последний раз редактировалось Cheetos, 17.03.2012 в 23:18. |
| Этот пользователь сказал Спасибо Cheetos за это полезное сообщение: | ||
UchusNaDelhi7 (18.03.2012)
| ||
|
#34
|
||||
|
||||
|
Пардон, не заметил
![]() |
|
#35
|
|||
|
|||
|
Ознакомился с массивами , const ... Всем огромное спасибо !
|