Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.26;
Скачать: CL | DM;

Вниз

Генератор списков паролей   Найти похожие ветки 

 
Ruffian   (2007-08-01 20:26) [0]

Здравствуйте уважаемые программисты..
Проблема собственно вот в чём:
Пишу программу для генерации списков паролей, алгаритм такой
с каждым символом подставляется каждый итд..
тоесть для трёх-символьной генерации использую следушее:

begin
xyz:=TstringList.create; //xyz типа TStrings
for a:=1 to 161 do        //Цифра 161 взята из максимального количества                        //символов в русской и английской раскладках
begin
for b:=1 to 161 do
begin
for c:=1 to 161 do
xyz.Add(mas[a]+mas[b]+mas[c]);//собственно в mas[1]-mas[161]хранятся //все символы
end;
end;

If  OpenTextFileDialog1.Execute then                   //
xyz.SaveToFile(OpenTextFileDialog1.FileName);     //сохранение
xyz.free;                                                        //
end;


С 3-значной длиной всё в порядке, генерация происходит за несколько секунд и успешно сейвится, а вот с 4-значной наступает проблема - поскольку объём строк очень большой, происходит переполнение стека..
Есть идея сделать поэтапное сохранение после каждого прохода (тоесть на каждой 1/161)..
Прошу высказат ьваш взгляд на вышеизложенное.
(Прошу прощенье если где-то напутал)
Заранее спасибо!


 
DrPass ©   (2007-08-01 20:39) [1]

Вместо этого
> xyz:=TstringList.create;

> xyz.Add(mas[a]+mas[b]+mas[c]);

> xyz.SaveToFile(OpenTextFileDialog1.FileName);     //сохранение
> xyz.free;

сделай просто добавление строки в файл на каждой итерации цикла. Будет намного быстрее и при этом с ничтожным потреблением памяти


 
Anatoly Podgoretsky ©   (2007-08-01 21:09) [2]

А у тебя диска то хватит - это 3 611 577 970 071 152 648 байт для паролей из 8 символов


 
Ruffian   (2007-08-01 21:14) [3]


> сделай просто добавление строки в файл на каждой итерации
> цикла. Будет намного быстрее и при этом с ничтожным потреблением
> памяти

Сори, не понял, куда добавлять сроку? (вернее как, с помощью чего лучше общаться с файлами?)
> А у тебя диска то хватит - это 3 611 577 970 071 152 648
> байт для паролей из 8 символов

Поэтому и нужен генератор 8), будет генерить по частям..


 
DrPass ©   (2007-08-01 22:27) [4]


> (вернее как, с помощью чего лучше общаться с файлами?)

assignfile, rewrite, writeln, closefile

> Поэтому и нужен генератор 8), будет генерить по частям..

А смысл? Можно подумать, существует компутер, способный обработать все варианты паролей из 8 символов, хоть по частям, хоть сразу.



Страницы: 1 вся ветка

Текущий архив: 2007.08.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
2-1186236576
DelphiKettle
2007-08-04 18:09
2007.08.26
Сравнение переменных


2-1186105128
Glivera
2007-08-03 05:38
2007.08.26
TaskBar


15-1184778574
Kolan
2007-07-18 21:09
2007.08.26
Еще про DataLayer, а как предпологается быть с отображением?


15-1185519203
Сатир
2007-07-27 10:53
2007.08.26
Восстановление клиента Оракла


15-1185882018
Rimd
2007-07-31 15:40
2007.08.26
InterBase